Bereits ausprobiert: Code Sign Error unter macOS Sierra, Xcode 8
Bitte sehen Sie das Bild, das den Fehler zeigt
CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Signing Identity: "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
(c6c30d2a-1025-4a23-8d12-1863ff684a05)
/usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1
Im Abschnitt Code Sign kann ich Profil und Zertifikat auswählen ... aber es wird immer noch ein Fehler angezeigt.
Wie kann ich dieses Problem beheben?
ios
xcode
xcode8
macos-sierra
iPhoneProzessor
quelle
quelle
Antworten:
Lösung 1:
Apple Developer Website Antworten über Problem hier .
Führen Sie den folgenden Befehl im Terminal aus: Gehen Sie zuerst zum Projekt-Stammordner
Xcode bereinigen und neu erstellen. Prost
Lösung 2:
Gehen Sie einfach zum Projektstammverzeichnis und führen Sie diesen Befehl xattr -cr aus.
Xcode bereinigen und neu erstellen. Getan.
Lösung 3:
Sie können dieses Problem beheben, indem Sie Dateien suchen, die Finder-Informationen enthalten.
Gehen Sie im Terminal zum Projektstammverzeichnis und führen Sie es aus
Dadurch wird kundapura.txt im aktuellen Verzeichnis erstellt. Suchen Sie nun nach com.apple.FinderInfo und löschen Sie diese Attribute für alle Dateien. Sie können es so machen
Beispiel:
xattr -c guru.png
Sobald Sie alles gelöscht haben, funktioniert das Codezeichen. Xcode bereinigen und neu erstellen. Prost
Lösung 4: Inspiriert von Mark McCorkles Antwort
Gehen Sie im Terminal zum Stammverzeichnis des Projekts und führen Sie einen Befehl nach dem anderen aus
Xcode bereinigen und neu erstellen. Getan.
quelle
Der Fehler ist auf Attribute in Ihren Bilddateien zurückzuführen. Dies geschah von unserem Grafikdesigner, der Bilder aus Photoshop mit Attributen speicherte.
Hier ist ein einfacher Befehl, um alle Ihre PNG-Dateien zu finden und ihre Attribute zu entfernen. Führen Sie dies im Terminalverzeichnis Ihres Projekts vom Terminal aus. Reinigen und wieder aufbauen; Problem gelöst.
quelle
Wenn Sie diesen Fehler beim Codesignieren einer App haben:
Gehen Sie zu Ihrem Projektstammordner und führen Sie ihn aus
Dadurch werden Attribute für alle Dateien gelöscht.
In Sierra wurden die Regeln für das, was in einem signierten Bundle enthalten sein kann, verschärft, und Ressourcengabeln sind nicht mehr zulässig. AppleScript speichert Informationen für immer in Ressourcengabeln, obwohl diese Informationen seit langem nicht mehr verwendet werden. Wenn Sie in Sierra ein Skript speichern, werden diese Ressourcengabelinformationen nicht mehr gespeichert.
Dies bedeutet, dass Sie kein Skript codieren können, das zuletzt in einer Version vor Sierra gespeichert wurde. Sie müssen in Sierra sparen, um in Sierra unterschreiben zu können.
Betroffen sind wahrscheinlich Personen, die andere Skripte in ihren Skripten bündeln (Cordova?). Sie können das Containerskript erst signieren, wenn alle eingebetteten Skripte unter Sierra erneut gespeichert wurden.
AKTUALISIEREN:
Scheint so auch zu funktionieren:
Wenn Sie einen Fehler mit unzureichenden Berechtigungen haben, versuchen Sie, sudo voranzustellen:
sudo xattr -rc .
quelle
Der einfachste Weg, um Attribute in Ihren Quelldateien zu verarbeiten, besteht darin, Xcode das Archiv löschen zu lassen, bevor es Codesign ausführt. Um dies zu tun:
Geben Sie für das Skript Folgendes ein:
xattr -cr ~ / Library / Developer / Xcode / DerivedData || Echo Löschen
Wenn Sie jetzt Ihr Ziel erstellen, werden alle Attribute gelöscht, die das Codesign beschädigt hätten. Wenn Sie zu diesem Zeitpunkt löschen, müssen Sie Ihren Quellcode / Ihr Projektverzeichnis nicht ändern.
Der Teil "|| echo Clear" des Skripts stellt sicher, dass die Projekterstellung auch bei xattr-Fehlern fortgesetzt wird.
Diese Methode ist gut, wenn Sie Programme wie DropBox in Ihrem Code-Repository verwenden, die die Attribute hinzufügen, da dadurch Ihr Quellprojekt nicht geändert wird, sondern nur das erstellte Archiv.
Möglicherweise müssen Sie den Pfad so ändern, dass er mit Ihrem DerivedData-Verzeichnis übereinstimmt. Dieser Pfad wird neben dem Codesign-Fehler angezeigt.
quelle
Ich habe folgenden Befehl verwendet. Terminalfenster verwenden. Navigieren Sie zu Ihrem Projekt und führen Sie Folgendes aus:
quelle
Es gibt eine offizielle Apple-Antwort auf dieses Problem in den technischen Fragen und Antworten QA1940 .
<path_to_app_bundle>
kann durch das Verzeichnis Ihres Xcode-Projekts ersetzt werden. Beispielsweise~/Development/MyProject
quelle
xattr -lr <path_to_app_bundle>
durchgearbeitet wurden, führte dies schließlich zu den richtigen Dateien. Ich habe von der Agentur eine Localizable.strings mit Finder-Tags erhalten, die dazu geführt haben, dass das Codesign fehlgeschlagen ist.Alles über das Löschen von Dateien ist in Ordnung, aber für mehrere Projekte mühsam.
Grafik-Apps (wie Photoshop in alten Versionen) schreiben zusätzliche Informationen (wir nennen sie jetzt Metadaten ..) auf alte Weise in externe Dateien, oder sie stammen aus älteren OSX-Dateien wie:
"com.apple.ResourceFork" und "com.apple.FinderInfo", wenn Sie beispielsweise einen Ordner entpacken.
Xcode 8 weigert sich, es einem Build hinzuzufügen (da Sie es einem Projekt mit einem "git --add" hinzugefügt haben, vielleicht ..). Sie können es rekursiv im Terminal finden und löschen, können aber mühsam sein.
Ich habe ein kleines kostenloses Dienstprogramm geschrieben, um es zu löschen. Ich hoffe, es kann helfen.
https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12
quelle
Einfache Lösung: -
Wie ich es gemacht habe [für mich arbeiten]
Schritt 1: - Gehen Sie zu diesem Ordner - drücken Sie in Ihrem Finder die Option Los -> Gehe zu Ordner
Geben Sie dann Ihren Projektpfad wie folgt ein: - Bibliothek / Entwickler / Xcode / DerivedData / Ihr Projektname / Build / Produkte / Debug-iphoneos
Jetzt sehen Sie ein Fenster mit einer Liste der verfügbaren Dateien. Dort sehen Sie IhreApp.app-Datei [Tun Sie nichts, warten Sie nur auf Schritt 2].
Schritt 2: - Öffnen Sie das neue Terminal und geben Sie einfach cd ein. Ziehen Sie dann einfach Schritt 1 yourApp.app zum Terminal. Jetzt erhalten Sie den Pfad für die App. Drücken Sie nun die Eingabetaste.
Schritt 3: - Geben Sie nun diesen Befehl ein **
Verpassen Sie nicht "." (Punkt) Drücken Sie die Eingabetaste.
Das war's. Gehen Sie zu Ihrem Xcode-Projekt und bereinigen Sie es und führen Sie es erneut aus.
quelle
----- Falls Sie die oben genannten Lösungen aufgrund mangelnden Bash-Wissens oder etwas anderem nicht anwenden können.
Ich hatte dieses Problem, sobald ich iCloud Drive auf meiner Sierra aktiviert habe. Mein Projekt befand sich in einem Ordner, der mit iCloud Drive synchronisiert wurde. Ich nehme an, das ist es, was diese zusätzlichen Attribute hinzufügt.
Vorübergehende Lösung:
Deaktivieren Sie iCloud Drive für den Ordner, in dem sich Ihr Projekt befindet.
quelle
Für diejenigen (wie mich), die nur versuchen, eine App zu entwickeln, ohne erweiterte Attribute für jedes neu in Photoshop erstellte PNG entfernen zu müssen, das dem macOS-Ziel hinzugefügt wurde, können Sie die Codesignatur vorübergehend deaktivieren, indem Sie eine benutzerdefinierte Build-Einstellung hinzufügen:
Natürlich muss sich einer, der eine App verteilt, irgendwann mit dem Problem befassen, aber dies ermöglicht die Entwicklung in Fällen wie meinem, in denen es nicht unbedingt einfach war, die Codesignatur in Sierra wegzulassen (unter früheren OS X / X-Codes war dies einfacher).
Laut RGriffiths Kommentar sind hier einige Screenshots für diejenigen, die sich nicht sicher sind, wie die benutzerdefinierte Build-Einstellung hinzugefügt wird.
quelle
Sie müssen den App-Bundle-Ordner löschen und die App wie unten erläutert neu erstellen.
Meine App heißt: Augment
Gehen Sie im Terminalfenster zu Ihrem App-Ordner, z. B.: Cd / Users / username / Library / Developer / Xcode / DerivedData /
Führen Sie im Terminalfenster den Befehl für Ihren App-Ordner aus, z. B.: Xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms
Bereinigen> Erstellen> Ausführen.
Es gibt auch eine kostenlose App im Mac Appstore namens "CleanDetritus", mit der diese entfernt werden können.
quelle
Dieses Problem ist mir gestern gekommen.
(What's wrong)
Ich habe die Bildressourcen durch manuelles Ersetzen der Datei im Finder aktualisiert und bin mit diesem Kompilierungsfehler fehlgeschlagen.(What's right)
Aktualisieren Sie das Bild nicht auf diese Weise. Danach habe ich Bilder in 'xcassets' in Xcode gezogen. Es wird kein Fehler mehr angezeigt.quelle
Das Problem liegt in den abgeleiteten Daten. Sie sollten die abgeleiteten Daten bereinigen und dann das Projekt bereinigen und erstellen. Bitte überprüfen Sie diesen Link.
quelle
Mein Problem ist jede Änderung, die ich am Code vornehme und erneut ausführe. Der Fehler tritt erneut auf. Dann finde ich eine Lösung, um den Befehl bei jeder Kompilierung / Ausführung von Code automatisch auszuführen.
Dank @ rich-able habe ich "Run Script" entdeckt. Dann habe ich den Befehl "xattr -cr" gesetzt. im Feld.
quelle
Die einfachste Lösung ist möglicherweise, wenn Sie git verwenden . Versuchen:
Git speichert keine Dateimetadaten, die oben genannten entfernen alles.
quelle
Mein Problem war, dass ich Cordova vor ungefähr einem Jahr zum Erstellen der App verwendet habe, diese jedoch nicht mit der neuen Version von xcode kompatibel war. Ich habe sie einfach verwendet
cordova build ios
und sie hat wieder funktioniert.quelle
Eine der besten Lösungen ist Gehe zum Terminaltyp
Um den vollständigen Pfad Ihrer rechten Maustaste zu finden, klicken Sie auf Xcode-Projekt -> Informationen abrufen -> Pfad kopieren und durch ersetzen. Geben Sie dann den folgenden Befehl ein
Reinigen und fertig bauen.
quelle
Wenn die xattr-Befehle nicht ausreichen, kann dies an einem XCode 9-Fehler liegen: Versuchen wir, den Ressourcenordner (in meinem Fall eine .xcassets) zu entfernen und erneut hinzuzufügen, der die betroffenen Dateien von Xcode enthält. (Sie sollten verstehen, welche Dateien zuvor mit dem Befehl xattr -lr betroffen waren.)
quelle
Öffnen Sie das Terminal und führen Sie einfach diesen Befehl aus.
xattr -cr "Pfad zur .app-Datei"
quelle
Ich habe auch das gleiche Problem, das durch einen Neustart meines Macbooks behoben wurde.
quelle
Ich habe festgestellt, dass beim Hinzufügen
color tag
zum Ordner unterDerivedData
beim Debuggen auf dem Gerät der oben genannte Fehler angezeigt wird.Entfernen Sie das Problem,
color Tag
um diesen Fehler für mich zu beheben.quelle
Sie können die abgeleiteten Daten entfernen
Xcode -> Preferences
Klicken Sie auf den Pfeil unten
Derived Data
und leeren Sie den OrdnerDerived Data
quelle
Ich weiß nicht, was mit mir passiert ist, aber als ich die Flatter-App auf dem Simulator ausführte, stieß ich auf den Fehler. Ich habe
flutter clean
Befehl verwendet und die abgeleiteten Daten entfernt und dann geht alles gut.quelle