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.

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.


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.


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


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.


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.


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

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


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!


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

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


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.


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!


Ä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.

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.


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.


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.


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.


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 .


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

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


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.


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.


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


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.


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


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.


0

Nur eine Visualisierung

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

Geben Sie hier die Bildbeschreibung ein


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


0

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


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.