Xcode 10, Command CodeSign ist mit einem Exit-Code ungleich Null fehlgeschlagen

123

Jedes Mal, wenn ich eine Konsole baue, wird diese Meldung angezeigt.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (im Ziel: Desker) cd / Users / admin / Desktop / AppStoreBuild / Project201 export CODESIGN_ALLOCATE = / Applications / Xcode.app / Contents / Entwickler / Toolchains / XcodeDefault.xctoolchain / usr / bin / Codesign_allocate

Unterzeichnungsidentität: "-"

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: Ressourcengabel, Finder-Informationen oder ähnliches Detritus nicht zulässig Command CodeSign ist mit einem Exit-Code ungleich Null fehlgeschlagen

... Gibt es eine Möglichkeit, die Ursache für diesen Fehler zu ermitteln? Es zeigt Signing Identity: "-", wenn ich versuche, auch im Simulator zu laufen. Warum müssen wir die Identität im Simulator signieren? Und eine weitere Sache ist, wenn ich Xcode beende und neu starte, wird es richtig erstellt, wenn ich Code ändere oder eine Methode hinzufüge, die erneut fehlschlägt.

Test Test
quelle

Antworten:

343

Ich hatte dieses Problem und Xcode konnte nicht auf dem Gerät kompiliert werden, aber auf dem Simulator funktionierte es einwandfrei.

Ich habe mit diesen Schritten gelöst:

  1. Öffnen Sie den Schlüsselbundzugriff.
  2. Sperren Sie den 'Login'-Schlüsselbund.
  3. Entsperren Sie es und geben Sie Ihr PC-Konto-Passwort ein.
  4. Projekt im Produktmenü bereinigen.
  5. Baue es wieder.

Und danach funktioniert alles gut.

Omanosoft
quelle
18
in meinem Fall wurde es entsperrt ... also habe ich es einfach gesperrt und dann gereinigt und gebaut und Xcode hat mich gebeten, mein Passwort einzugeben. Arbeiten
Jad
1
Dies ist die perfekte Lösung für mich, wenn ich xcode10.1 separat heruntergeladen habe und zuvor xcode 10.0 hatte. Danach gab es das oben genannte, nachdem es die von @omanosoft bereitgestellte Lösung ausgeführt hatte
Abhijit Chakra
Würde hinzufügen, dass es für mich ohne Punkt 4 funktioniert hat. Um zu vermeiden, dass die Länge reinigt und baut.
Crazy Barney
1
Es dauert einen halben Tag, bis ich Ihre Lösung gefunden habe, die mich gerettet hat. Danke, lieber Freund.
Bachir Mehemmel
2
In meinem Fall wird der Dialog mehrmals angezeigt, um das Passwort einzugeben. Ich habe jedes Mal mein Passwort für das PC-Konto eingegeben und nach 7-10 Mal wurde der Zugriff akzeptiert.
Adrian Buciuman
57

Keine der aufgeführten Lösungen hat bei mir funktioniert. In einem anderen Thread wurde darauf hingewiesen, dass das Einfügen eines Ordners mit dem Namen "Ressourcen" in das Projekt diesen Fehler verursacht. Nach dem Umbenennen meines Ordners "Ressourcen" ist der Fehler behoben.

Paul Slocum
quelle
3
Das hat auch bei mir funktioniert. Ich hatte einen Ordner "Ressourcen" aus dem Finder in mein Projekt gezogen und den Standardordner "Ordnerreferenz erstellen" verwendet, mit dem ein blauer Ordner "Ressourcen" erstellt wurde. Ich habe das gelöscht und denselben Ordner "Ressourcen" aus dem Finder erneut in mein Projekt gezogen, aber diesmal habe ich "Gruppen erstellen" ausgewählt und jetzt wird mein Projekt ohne den Signaturfehler kompiliert.
Mark Petereit
1
Vielen Dank, das war sehr hilfreich
MrGuy
Ich habe das gleiche Problem festgestellt, nachdem ich die Firebase-Module gemäß deren Anweisungen hinzugefügt habe. Ich habe den Ordner Resources in FirebaseResources umbenannt und es hat gut funktioniert. Danke dir.
Ruralcoder
Schön, hatte das gleiche Problem beim Kopieren einer anderen Codebasis. Seltsamerweise hatte die andere Codebasis keine Probleme, aber beim Kopieren wurde ein neues Projekt beeinträchtigt. Das Umbenennen des Ressourcenordners hat den Trick getan.
Matthew
Kann mir bitte jemand sagen, wo und wie ich diesen Ressourcenordner finde
pratteek shaurya
41

Wenn Sie auch eine Codesignatur erhalten, schlägt der Fehler "Ressourcengabel, Finder-Informationen oder ähnliches Detritus nicht zulässig" fehl.

Führen Sie das folgende Skript in der Konsole aus, um Folgendes zu beheben:

$ xattr -cr <path_to_app_bundle>

Apple-Dokumentation: https://developer.apple.com/library/archive/qa/qa1940/_index.html

xuzepei
quelle
Wochen nach dem Problem suchen und Apple um Unterstützung bitten - ohne Erfolg. Vielen Dank für Ihre Lösung! Funktioniert perfekt für mich - für MEHRERE Projekte.
Christian Krueger
Prost dafür. Mein Problem wurde behoben.
Nicktones
Ersetzen Sie <path_to_app_bundle> durch den Pfad zu Ihrem eigentlichen App-Bundle.
Xuzepei
15

Dies ist mir erst heute passiert, nachdem ich ein PNG-Bild mit der Option "Erweiterung ausblenden" hinzugefügt habe, das in den Informationen zum Abrufen angekreuzt ist. (Bild mit der rechten Maustaste anklicken) Dieses Bild wurde dem Dateiverzeichnis meines Xcode-Projekts hinzugefügt.

Wenn das Kontrollkästchen deaktiviert und das PNG-Image erneut zum Xcode-Verzeichnis hinzugefügt wurde, habe ich es dann bereinigt und erstellt und danach einwandfrei funktioniert, ein sehr seltsamer Fehler, wenn Sie mich fragen.

Jonas
quelle
1
Hatte das gleiche Problem mit einer .jpg, die keine Erweiterung hatte. Nach dem Hinzufügen behoben.
Eivindml
1
Danke, dass du mir Zeit gespart hast. Ein großes Lob dafür, dass Sie diesen Fehler mit einem Bild mit einer versteckten Erweiterung in Verbindung gebracht haben.
Marcy
1
Ich habe dieses Problem mit einem PNG erlebt, aber die Erweiterung war sichtbar. Das Bild wurde aus Photoshop mit "Export Layer Comps in Dateien" exportiert. Das Löschen des Bildes und das erneute Exportieren mit "Exportieren als" behebt das Problem.
Hermes
gleiches Problem hier mit PNG-Bild!
MrGuy
7

Versuchen Sie, das Projekt zu reinigen:

1. shift + cmd + k
2. shift + cmd + Alt + k 

Versuchen Sie dann erneut, Ihr Projekt auszuführen. Hoffe, dies wird das Problem beheben.

Md Rashed Pervez
quelle
1
Hat. sauber gelungen. Wenn ich baue, versage ich
Test Test
1
Baue einen scheiternden Bruder.
Test Test
1
Hat in meinem Fall als Zauber gewirkt!
Heitor
5

Dieses Problem trat mir auf, nachdem ich .dae- und .png-Dateien hinzugefügt und .dae mit dem XCode-Editor in das SceneKit-Szenendateiformat (.scn) konvertiert hatte.

Nachdem ich einige Nachforschungen angestellt hatte, fand ich die Lösung hier - https://forums.developer.apple.com/thread/109951#336225

Schritte zur Lösung des Problems:

  1. Gehen Sie in XCode zu Einstellungen
  2. Klicken Sie auf die Registerkarte Standorte
  3. Wählen Sie in den Befehlszeilentools aus der Dropdown-Liste XCode 10.1 aus
plamenti
quelle
3

In Xcode: Gehen Sie zum Abmelden der Einstellungen des aktuellen Benutzers.

Schließen Sie Xcode

Im Schlüsselbund: Gehen Sie zu Login und Alle Elemente

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Öffnen Sie Xcode

Gehen Sie zu Einstellungen und melden Sie sich bei Ihrem Apple-Benutzerkonto an

  • Dadurch werden Ihre zuvor gelöschten Entwicklerzertifikate neu geladen. Erstellen Sie das Projekt neu (sollte ein erfolgreicher Build sein).

Führen Sie den Build auf Ihrem nativen Gerät aus

Val
quelle
3

In meinem Fall waren die folgenden Fehlerzeilen:

Unterzeichnungsidentität: "-"

… ..Mobile.app: Ressourcengabel, Finder-Informationen oder ähnliche Abfälle sind nicht zulässig

Der Befehl CodeSign ist mit einem Exit-Code ungleich Null fehlgeschlagen

Das Problem war, dass ich im Ressourcenordner einige Dateien mit der Erweiterung .png hatte, die in den Standardeinstellungen versteckt waren.

Suchen Sie die Datei im FINDER, markieren Sie sie -> cmd + i -> unchek Hide-Erweiterung

Danach kehren Sie in Xcode -> kmd + shift + K zurück und erstellen neu.

Ich hoffe ich war hilfreich!

Madji
quelle
Vielen Dank! Das hilft.
ZavtraMen
Ich habe die anderen Lösungen ausprobiert. Dies ist die einzige Lösung, die für mich funktioniert hat.
Andrew Builder
3

Die Lösung für mich war, macOS neu zu starten, ohne zu speichern

Faustino Gagneten
quelle
3

Fix

Entfernen Sie erweiterte Dateiattribute endgültig in Ihren Ressourcendateien, nicht im kompilierten Anwendungspaket:

  1. Terminal öffnen

  2. Wechseln Sie in das Stammverzeichnis Ihrer Quelldateien

    $ cd / Users / rjobidon / Documents / My \ Project

  3. Listen Sie alle erweiterten Attribute auf

$ xattr -lr .
  1. Entfernen Sie alle erweiterten Attribute
$ xattr -cr .

Xcode-Fehler

  • "Befehl CodeSign ist mit einem Exit-Code ungleich Null fehlgeschlagen."
  • "Ressourcengabel, Finder-Informationen oder ähnliche Abfälle sind nicht zulässig."

Ursache

Apple hat eine Änderung zur Erhöhung der Sicherheit eingeführt, sodass durch die Codesignatur keine Datei in einem App-Bundle mehr über ein erweitertes Attribut verfügt, das einen Ressourcengabel oder Finder-Informationen enthält.

Quellen

rjobidon
quelle
2

Ich bin mir nicht sicher, was dieses Problem verursacht, aber eine Methode, mit der ich das Porblem erfolgreich gelöst habe, war das Ausführen eines Pod-Updates für meine Kakao-Pods.

Der Fehler (für mich jedenfalls) zeigte ein Problem mit der Signierung eines der Pods. Durch das Aktualisieren der Pods wurde das Signaturproblem behoben.

pod update [PODNAME] //For an individual pod

oder

pod update //For all pods.

Hoffentlich hilft dies jemandem, der den gleichen Fehler "Command CodeSign fehlgeschlagen mit einem Exit-Code ungleich Null" hat.

paul_f
quelle
Ich habe keine Poddatei - ich bin mir nicht sicher, wie der Dateiname und die Erweiterung lauten sollen. Kannst du das klären?
Fahrt
Hallo @RideSun, Möglicherweise haben Sie Ihrem Projekt noch keine Pods hinzugefügt. Das Podfile heißt ursprünglich "Podfile". Es hat keine Erweiterung, standardmäßig ist es eine TextEdit-Datei.
paul_f
2

Nachdem ich alles ausprobiert hatte, bestand meine Lösung darin, einige PNG-Dateien zu entfernen, zu erstellen und auszuführen (ok) und die PNG-Bilder erneut hinzuzufügen. Seltsam!

Nicoli
quelle
Ähnliches. Es wurden 5 .PNG-Dateien ohne .PNG-Erweiterung hinzugefügt. Die ersten Builds funktionierten. Nach dem Bearbeiten der Steuerelemente in IB trat der obige Signaturfehler mit der Meldung "Ressourcengabel, Finder-Informationen oder ähnlicher Detritus nicht zulässig" auf. Detritus? Wer benutzt dieses Wort? Durch Ändern der Namen der Dateien mit der Erweiterung .PNG wurde das Problem behoben.
Chris Walken
1

Keine der anderen Antworten funktionierte. Folgendes habe ich getan:

  1. mein Zertifikat aus dem Schlüsselbund gelöscht;
  2. geöffnet Xcode es Zertifikat neu erstellen;
  3. App auf Gerät erfolgreich ausgeführt.
Bhavesh Jain
quelle
1

Für mich musste ich zum Schlüsselbund gehen, den "Login" -Schlüsselbund auswählen, auf den iOS Developer: myname-Schlüssel doppelklicken, auf die Registerkarte Zugriffssteuerung klicken und das Optionsfeld auf Alle Anwendungen auf diesen Artikel zugreifen lassen.

Patrick Duchesneau
quelle
1

Dieses Problem wurde durch das Erstellen meines Projekts im Release-Schema verursacht. Es kann auch durch andere Dinge verursacht werden. Versuchen Sie, das Build-Schema zu ändern, indem Sie in xCode zu Produkt> Schema> Schema bearbeiten gehen. Schalten Sie im Abschnitt "Ausführen" auf der linken Seite die "Build-Konfiguration" auf "Debuggen". Ich hoffe das wird helfen.

Abdulmohsen Alabra
quelle
1

Keine der oben genannten Lösungen hat bei mir funktioniert. Nach einigen Vermutungen habe ich es versucht (Xcode v10.2.1 Cocoapods v1.7.1)

pod deintegrate

gefolgt von

pod install

Dann:

  • Öffnete den Arbeitsbereich in Xcode
  • Bereinigter Build-Ordner
  • Erstellen Sie das Projekt

Keine Buildfehler.

ToddX61
quelle
1

Für mich war die Lösung die folgende, bei der das Flag "Zeichen automatisch verwalten" aktiviert war:

  1. Wählen Sie in der Team-Dropdown-Liste des Ziels "Keine" aus.

  2. Wählen Sie das richtige Entwicklungsteam erneut aus

Nachdem ich fast jeden Vorschlag ausprobiert hatte, stellte ich fest, dass dies funktioniert, da Xcode das Signiermaterial von Grund auf neu erstellt.

mr_dami
quelle
1

Keine der gängigen Lösungen hat funktioniert.
In meinem Fall habe ich den Fehler behoben, indem ich in die

XCode -> Einstellungen -> Konten -> Zertifikate verwalten

und fügte ein (+) zur iOS-Entwicklung hinzu .

vinyllover
quelle
1

Ich werde meine Lösung veröffentlichen. Diese Lösung hat bei mir funktioniert, da keine der vorherigen funktioniert hat. Das Problem trat unmittelbar nach der letzten Aktualisierung des XCode cli-Toolset auf (nicht sicher, ob dies die Bestätigungsverzerrung ist).

Ich habe einige der Anweisungen ausprobiert (z. B. Schlüsselbundtrick entsperren).

Was hat bei mir im Fehlerfall funktioniert:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • Papierkorb-DD-Inhalt; rm -rf / Benutzer / dx / Bibliothek / Entwickler / Xcode / DerivedData / *
    • Starten Sie XCode neu
    • Build-Phasen => Link Binary With Libraries
      • Something.framework,
    • Legen Sie den Einbettungswert in fest General => Something.framework => EMBED
      • Do not embed
    • Drücken Sie Cmd+B(Projekt erstellen)
    • Hoffentlich erfolgreich gebaut
Sensation
quelle
Als ich die obigen Schritte ausgeführt habe, habe ich die App wirklich erfolgreich erstellt, aber Xcode erinnert mich daran: Grund: Bild nicht gefunden . Ich löse das Problem durch den folgenden Schritt: ZIELE - Phasen erstellen - Binär mit Framework Something.frameworkverknüpfen
Xuyee Wang
1

Dieses Problem trat aufgrund der Fehlkonfiguration meines Zertifikats der Apple Worldwide Developer Relations- Zertifizierungsstelle auf .

Ich habe das Problem behoben, indem ich von "Alway Trust" zu "System Standardeinstellungen verwenden" gewechselt habe.

Schritt für Schritt:

  1. Öffnen Sie KeyChain
  2. Klicken Sie auf den Schlüsselbund "Login" (stellen Sie sicher, dass er entsperrt ist - wenn er gesperrt ist. Klicken Sie mit der rechten Maustaste darauf und wählen Sie "KeyChain entsperren".)
  3. Klicken Sie auf Zertifikate und suchen Sie das Zertifikat der Apple Worldwide Developer Relations Certification Authority
  4. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Informationen abrufen
  5. Erweitern Sie den Abschnitt "Vertrauen" und ändern Sie die Einstellungen in "Systemstandards verwenden" (siehe Abbildung unten)

Geben Sie hier die Bildbeschreibung ein

marika.daboja
quelle
1

Dies liegt daran, dass durch die Codesignatur keine Datei in einem App-Bundle mehr über ein erweitertes Attribut verfügt, das einen Ressourcengabel oder Finder-Informationen enthält.

Um zu sehen, welche Dateien diesen Fehler verursachen, gehen Sie in den Ordner .app. Dieser lautet normalerweise wie folgt: / Users / XXXX / Library / Developer / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst / (meins ist Catalyst-Projekt) Im Terminal

cd <above path>
xattr -lr .

Sie werden sehen, dass einige Dateien ein erweitertes Attribut haben:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate # PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1. ^ ..... @ .9 .... |

Wechseln Sie dann zu Ihrem Projektordner oder Ordner, auf den für diese Dateien verwiesen wird, und entfernen Sie das erweiterte Attribut:

cd /Users/XXXX/Work/MyProject
xattr -cr .

Nachdem Sie alle Ordner, auf die verwiesen wird, bereinigt haben, gehen Sie zu Xcode und erstellen Sie sie neu.

Sam Xu
quelle
0

Ich habe diesen Fehler auch gesehen, nachdem ich dem Ordner art.scnassets eine Mischung aus JPG- und PNG-Bildern hinzugefügt, Codeänderungen vorgenommen und diese Änderungen über das Menü Quellcodeverwaltung> Alle Änderungen verwerfen ... von Xcode entfernt habe.

Ich habe die anderen Korrekturen in diesem Thread ausprobiert, musste aber letztendlich die hinzugefügten JPG- / PNG-Dateien löschen, das Projekt bereinigen und das Projekt neu erstellen, um die Fehler zu beseitigen. Ich habe dann die ursprünglichen .jpg / .png-Dateien erneut gelesen und erstelle jetzt den Code ohne Probleme neu.

Hawtakshun
quelle
Ich habe mehrere schnelle Dateien aus meinem anderen Projekt und auch ein PNG-Bild hinzugefügt. Nach dem Löschen dieses PNG-Image-Projekts erfolgreich erstellt 😀
Prashant Gaikwad
0

In meinem Fall war es eine beschädigte Storyboard-Datei

Roberto
quelle
0

Nachdem ich zwei .aiff-Dateien in eine .scnassets-Gruppe kopiert hatte, trat dieser Fehler auf. Das Löschen der Dateien und eines "Clean Build Folder" löst das Problem in meinem Fall.

nik
quelle
0

Ich bin mir nicht sicher, ob dies jemandem helfen wird - aber stellen Sie sicher, dass Sie Find Implicit Dependenciesabgehakt haben. Manchmal kann dies dazu führen, dass Ihr Projekt den Überblick darüber verliert, wo Sie nach bestimmten Dingen suchen müssen.


Geben Sie hier die Bildbeschreibung ein


Sobald Sie dies tun, schlage ich vor, dann auch Ihr Projekt zu bereinigen und neu zu erstellen.

Geben Sie hier die Bildbeschreibung ein

Will Von Ullrich
quelle
0

Das hat bei mir funktioniert :) Ich habe das Zertifikat in den Einstellungen für den Schlüsselbundzugriff entfernt. Gehen Sie zu Xcode und erstellen Sie die App sauber. Jetzt wird das Zertifikat erneut im Schlüsselbundzugriff erstellt und die Erstellung wird mit dem realen Gerät erfolgreich durchgeführt.

Swetha Reddy
quelle
0

Nur eine Visualisierung

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

Geben Sie hier die Bildbeschreibung ein

yoAlex5
quelle
0

In meinem Fall war es eine versehentlich eingeschaltete Option. Ich verwende gängige .xcconfig-Root-Dateien sowohl für iOS als auch für macOS. Für das iOS-Ziel blieb die Option " Gehärtete Laufzeit aktivieren" aktiviert, sodass die Zeile ersetzt wurde

ENABLE_HARDENED_RUNTIME = YES

bis zum

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

in der .xcconfig-Datei wurde das Problem behoben

Hofi
quelle
0

Mag dumm klingen, aber versuchen Sie es ohne Passwort, wenn es gefragt wird.

Tiago Gouvêa
quelle
0

Mein Problem wurde gelöst

  • Aktivieren Sie das Kontrollkästchen Automatisch die Anmeldung bei Target MyProject verwalten und Team hinzufügen.
  • Aktivieren Sie das Kontrollkästchen Automatisch die Anmeldung bei Target MyProjectTest verwalten und Team hinzufügen.
  • Produkt -> Build-Ordner bereinigen -> Erneut erstellen oder versuchen, auf dem Gerät ausgeführt zu werden.

Das Problem tritt auf, wenn Sie das falsche / andere Team für MyProject und MyProjectTest haben.

Das erneute Anschließen Ihres Telefons vor dem Wiederherstellen kann ebenfalls zur Behebung dieses Problems beitragen.

Yunus
quelle