it-swarm.com.de

Code-Zeichenfehler in macOS High Sierra Xcode - Ressourcenzweig, Finder-Informationen oder ähnliches Detritus nicht zulässig

Bereits versucht: Code Sign Error auf macOS Sierra, Xcode 8

Bitte sehen Sie das Bild mit dem Fehler enter image description here

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 Code Sign-Bereich kann ich Profil und Zertifikat auswählen ... aber immer noch Fehler . enter image description here

enter image description here

Wie kann dieses Problem behoben werden?

214
iPhoneProcessor

Lösung 1:

Apple Developer Website Antworten oben Problem Hier .

Führen Sie den folgenden Befehl im Terminal aus: Zuerst gehen Sie zum Hauptordner der Projekte

 xattr -cr <path_to_app_bundle>

Reinige Xcode und re-Build. Prost

Lösung 2:

Sie können dieses Problem beheben, indem Sie Dateien suchen, die Finder-Informationen enthalten.

Gehen Sie im Terminal zum Hauptverzeichnis des Projekts und führen Sie es aus

ls [email protected] . > kundapura.txt

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

xattr -c <filename>

Beispiel: xattr -c guru.png

Wenn Sie alle gelöscht haben, funktioniert das Code-Zeichen. Reinige Xcode und re-Build. Prost

Lösung 3: Inspiriert von Mark McCorkles Answer

Wechseln Sie im Terminal zum Stammverzeichnis des Projekts und führen Sie einen nach dem anderen Befehl aus

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.jpg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.json' -exec xattr -c {} \;

Reinige Xcode und re-Build. Erledigt.

468
Guru

Der Fehler stammt von Attributen in Ihren Bilddateien. Dies geschah von unserem Grafikdesigner, der Bilder aus Photoshop mit Attributen speichert.

Hier ist ein einfacher Befehl, um alle Ihre png-Dateien zu finden und ihre Attribute zu entfernen. Führen Sie dies in Ihrem Projektverzeichnis vom Terminal aus aus. Reinigen und neu aufbauen; Problem gelöst.

find . -type f -name '*.png' -exec xattr -c {} \;
145
Mark McCorkle

Wenn Sie diesen Fehler beim Codieren einer App haben:

ressourcenzweig, Finder-Informationen oder ähnliches nicht zulässig Befehl/usr/bin/codesign mit Exitcode 1 fehlgeschlagen

Gehen Sie zu Ihrem Projektstammordner und führen Sie es aus

find . | xargs -0 xattr -c

Dadurch werden die Attribute für alle Dateien gelöscht.

In Sierra wurden die Regeln, die in einem signierten Bundle enthalten sein können, verschärft, und Ressourcen-Gabeln sind nicht mehr zulässig. AppleScript hat Informationen für immer in Ressourcen-Gabeln gespeichert, obwohl diese Informationen lange Zeit nicht verwendet wurden. Wenn Sie mit Sierra ein Skript speichern, werden diese Informationen nicht mehr gespeichert.

Das bedeutet, dass Sie ein Skript, das in einer vor Sierra zuletzt gespeicherten Version gespeichert wurde, nicht mit einem Code versehen können. Sie müssen in Sierra speichern, um sich in Sierra anmelden zu können.

Die Menschen, die davon betroffen sein könnten, bündeln andere Skripts (Cordova?). Sie können das Containerskript erst signieren, wenn alle eingebetteten Skripts unter Sierra erneut gespeichert wurden.

AKTUALISIEREN:

Scheint so funktioniert auch:

xattr -rc .

Wenn Sie einen nicht ausreichenden Berechtigungsfehler haben, versuchen Sie, Sudo voranzustellen: Sudo xattr -rc .

80
Arnold Roa

Es gibt eine offizielle Antwort von Apple für dieses Problem in Technische Fragen und Antworten QA1940 .

Dies ist eine Sicherheitsänderung, die mit iOS 10, .__, eingeführt wurde. macOS Sierra, watchOS 3 und tvOS 10.

Die Codesignierung erlaubt nicht mehr, dass eine Datei in einem Anwendungspaket ein .__ enthält. erweitertes Attribut, das einen Ressourcenzweig oder Informationen zum Finder enthält.

Um festzustellen, welche Dateien diesen Fehler verursachen, führen Sie diesen Befehl in .__ aus. Terminal: xattr -lr <path_to_app_bundle>

Sie können auch alle erweiterten Attribute mit .__ aus Ihrem App-Bundle entfernen. der Befehl xattr: xattr -cr <path_to_app_bundle>

<path_to_app_bundle> kann durch das Verzeichnis Ihres Xcode-Projekts ersetzt werden. Zum Beispiel ~/Development/MyProject

21
comrade

Der einfachste Weg, Attribute in Ihren Quelldateien zu behandeln, besteht darin, Xcode das Archiv aufräumen zu lassen, bevor es Codesign ausgeführt wird. Um dies zu tun:

  1. Wählen Sie Ihr Ziel in XCode aus
  2. Wählen Sie die Registerkarte "Erstellungsphasen"
  3. Drücken Sie das + Symbol
  4. Wählen Sie New Run Script Phase
  5. Geben Sie Folgendes für das Skript ein:

    xattr -cr ~/Library/Developer/Xcode/DerivedData || Echo Clear

Wenn Sie nun Ihr Ziel erstellen, werden alle Attribute gelöscht, die die Codesignierung verletzt haben. Wenn Sie zu diesem Zeitpunkt das Löschen beenden, müssen Sie Ihren Quellcode/Ihr Projektverzeichnis nicht ändern.

Der "|| echo Clear" -Teil des Skripts stellt sicher, dass der Projektaufbau auch bei xattr-Fehlern fortgesetzt wird.

Diese Methode eignet sich 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 ändern, damit er mit Ihrem DerivedData-Verzeichnis übereinstimmt. Dieser Pfad wird neben dem Codesign-Fehler angezeigt.

 xattr codesign xcode fix

16
A.Badger

Das Löschen von Dateien ist in Ordnung, aber für mehrere Projekte langwierig.

grafik-Apps (wie Photoshop in alten Versionen) schreiben zusätzliche Informationen (wir nennen sie jetzt Metadaten ..) in alter Weise in externen Dateien, oder sie kamen aus älteren OSX-Dateien, Dateien wie:

"com.Apple.ResourceFork" und "com.Apple.FinderInfo", zum Beispiel beim Entpacken eines Ordners.

Xcode 8 weigert sich, es einem Build hinzuzufügen (wenn Sie es mit einem "git --add." Einem Projekt hinzugefügt haben.) Sie können rekursiv im Terminal suchen und sie löschen, können jedoch langweilig sein.

Ich habe ein kleines kostenloses Dienstprogramm geschrieben, um es zu löschen .. hoffe, es kann helfen ..

https://iTunes.Apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12

15
ingconti

Ich habe folgenden Befehl verwendet. Terminalfenster verwenden. Navigieren Sie zu Ihrem Projekt und führen Sie Folgendes aus:

xattr -rc .
13
Ram G.

Einfache Lösung: -

Wie ich das gemacht habe [Arbeit für mich]

Schritt 1: - Gehen Sie zu diesem Ordner - drücken Sie in Ihrem Finder die Option Gehe zu -> Gehe zum Ordner

geben Sie dann Ihren Projektpfad wie folgt ein Beispiel: - Bibliothek/Entwickler/Xcode/DerivedData/Ihr Projektname/Build/Products/Debug-iphoneos

Jetzt sehen Sie ein Popup-Fenster mit einer Liste der verfügbaren Dateien. Dort sehen Sie Ihre App.app-Datei. [Warten Sie nicht, warten Sie auf Schritt 2].

Schritt 2: - Öffnen Sie ein neues Terminal und geben Sie einfach cd ein, und ziehen Sie einfach Schritt 1 Ihre App.app auf das Terminal. Nun erhalten Sie den Pfad für die App. Drücken Sie die Enter-Taste.

Schritt 3: - Geben Sie nun diesen Befehl ein **

xattr -rc.

Verpassen Sie nicht "." (Punkt) Drücken Sie die Eingabetaste. 

Das war's. Gehen Sie zu Ihrem Xcode-Projekt und löschen Sie es erneut. 

10
Abdu

Für diejenigen (wie ich), die nur versuchen, eine App zu entwickeln, ohne die erweiterten Attribute für jedes neu erstellte Photoshop-PNG, das zum macOS-Ziel hinzugefügt wurde, zu entfernen, können Sie die Codesignierung vorübergehend deaktivieren, indem Sie eine benutzerdefinierte Build-Einstellung hinzufügen: 

CODE_SIGNING_ALLOWED = No 

Natürlich muss einer, der eine App vertreibt, sich letztendlich mit dem Problem befassen. Dies ermöglicht jedoch die Entwicklung in Fällen, in denen es nicht unbedingt einfach war, das Code-Signieren in Sierra wegzulassen (früher war es mit OS X/Xcode einfacher). 

Gemäß dem Kommentar von RGriffith hier ein paar Screenshots für diejenigen, die nicht sicher sind, wie die benutzerdefinierte Einstellung hinzugefügt wird. 

 enter image description here

 enter image description here

10
Bobjt

----- Falls Sie die oben genannten Lösungen nicht anwenden können, weil kein bash-Wissen oder etwas anderes vorliegt.

Ich hatte dieses Problem, sobald ich iCloud Drive in meiner Sierra aktiviert habe. Mein Projekt befand sich in einem Ordner, der mit iCloud Drive synchronisiert wurde. Ich nehme an, dass dies diese zusätzlichen Attribute hinzufügt. 

Vorübergehende Lösung:

Deaktivieren Sie das iCloud-Laufwerk für den Ordner, in dem sich Ihr Projekt befindet.

8
Fawkes

Sie müssen den Ordner des App-Pakets löschen und die App wie nachstehend beschrieben neu erstellen.

Meine App heißt: Augment

Gehen Sie im Terminal-Fenster zu Ihrem App-Ordner Beispiel: CD/Benutzer/Benutzername/Bibliothek/Entwickler/Xcode/DerivedData /

Führen Sie im Terminalfenster einen Befehl für den App-Ordner aus : z

Reinigen> Erstellen> Ausführen.

Es gibt auch eine kostenlose App im Mac Appstore namens "CleanDetritus", mit der diese entfernt werden.

4
velhala

Dieses Problem ist mir gestern gekommen.

(What's wrong) Ich habe die Bildressourcen durch manuelles Ersetzen der Datei im Finder aktualisiert und konnte diesen Kompilierungsfehler nicht ausführen.

(What's right) Aktualisieren Sie das Bild nicht auf diese Weise. Danach zog ich Bilder in Xcode nach 'xcassets'. Es treten keine Fehler mehr auf.

2
ManuQiao

Das Problem liegt in den abgeleiteten Daten. Sie sollten die abgeleiteten Daten bereinigen und anschließend das Projekt und den Build bereinigen. Bitte überprüfen Sie diesen Link.

2
Yogesh Dalavi

Mein Problem ist jede Änderung, die ich im Code vornehme und erneut ausführt. 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 setze ich den Befehl "xattr -cr". im Feld.

 XCODE Solution

1
Andrey

Die einfachste Lösung kann sein, wenn Sie git verwenden. Versuchen:

$ git stash
$ git stash pop

Git speichert keine Dateimetadaten, das obige wird sie alle entfernen.

1
emp

Ich habe auch das gleiche Problem, das durch das Neustarten meines Macbooks behoben wurde.

0
Irfan

Mein Problem war, dass ich die App vor etwa einem Jahr mit Cordova erstellt habe, sie war jedoch nicht mit der neuen Version von xcode kompatibel, also habe ich einfach cordova build ios verwendet und es funktionierte wieder. 

0
Frederik Witte

Wenn der Befehl xattr nicht der Trick ist, liegt dies möglicherweise an einem XCode 9-Fehler: Versuchen wir, den Ressourcenordner (in meinem Fall .xcassets) mit den betroffenen Dateien aus Xcode zu entfernen und erneut hinzuzufügen. (Sie sollten wissen, welche Dateien zuvor durch den Befehl xattr -lr betroffen sind.)

0
Joe Aspara

Eine der besten Lösungen ist Zum Terminaltyp gehen

xattr -cr "Full path of your project"

Um den vollständigen Pfad Ihrer rechten Seite zu finden, klicken Sie auf Xcode-Projekt -> Info anfordern -> Pfad kopieren und ersetzen Sie mit . Geben Sie dann den folgenden Befehl ein 

xattr -cr "Full path of your project"

Sauber und fertig gebaut.

0
Rajesh

Öffnen Sie das Terminal und führen Sie einfach diesen Befehl aus.

xattr -cr "Pfad zur .app-Datei"

0
Idrees Ashraf

Ich habe festgestellt, dass wenn ich color tag im Ordner unter DerivedData hinzufüge, der obige Fehler beim Debuggen auf dem Gerät angezeigt wird.

Entfernen Sie den color Tag Fix diesen Fehler für mich.

 enter image description here

0
JerryZhou