/ usr / bin / Codesign ist mit Exit-Code 1 fehlgeschlagen


80

Ich versuche, meine erste iPhone-Entwicklungs-App bereitzustellen, und habe einige Probleme. Ich habe den Online-Bereitstellungsassistenten erfolgreich durchlaufen, aber jetzt stecke ich fest. Egal was ich mache, ich bekomme immer den folgenden Fehler.

/ usr / bin / Codesign ist mit Exit-Code 1 fehlgeschlagen

Hat jemand eine Idee, warum das passiert?



1
stackoverflow.com/a/44889440/2252866 Diese Lösung hat bei mir funktioniert. Ich habe die macOS App entwickelt.
Mediajon

Antworten:


55

Update:
Der technische Hinweis in meiner ursprünglichen Antwort ist jetzt veraltet. Apple hat eine Sammlung von Problemen mit der Codesignatur (und einige Lösungen) in einem neuen Dokument veröffentlicht: Technischer Hinweis TN2407 Index zur Fehlerbehebung bei der Codesignatur

Überprüfen Sie die CODE_SIGN_IDENTITY-Eigenschaft in Ihren Build-Einstellungen. Ist dort Ihr Bereitstellungsprofil ausgewählt?
Sie müssen außerdem eine gültige Bundle-ID in die .plist Ihrer Apps eingeben.
Der Bezeichner muss mit dem übereinstimmen, den Sie beim Generieren des Profils angegeben haben.
Apple hat eine technote darüber hier .


1
Es stellt sich heraus, dass die gültige Bundle-ID das Problem war. Vielen Dank für Ihre Hilfe, es ist jetzt behoben.
PF1

Wie "geben Sie eine gültige Bundle-ID ein"? Wie sieht einer davon aus?
Builds erfolgreich

Die Kennung eines Bundles ist eine Zeichenfolge in umgekehrter DNS-Notation (z. B. com.apple.dt.Xcode), die dem Plist-Schlüssel CFBundleIdentifier zugewiesen wird. Mehr dazu hier: developer.apple.com/library/ios/#documentation/General/…
Thomas Zoechling

Ich wusste nicht einmal, dass diese Einstellung vorhanden ist. Du bist ein Lebensretter.
dclowd9901

25

Ich bin gerade auf diesen Fehler gestoßen, und hier ist, was ich herausgefunden habe, falls dies jemandem hilft: Ich habe festgestellt, dass Sie mit der rechten Maustaste auf die Fehlermeldung in Xcode klicken und Erweitern auswählen können, um weitere Details einschließlich einer Beschreibung des Problems zu erhalten.

In meinem Fall hatte ich zwei Kopien meines Entwicklerzertifikats mit demselben Namen in verschiedenen Schlüsselbunddateien, und Xcode konnte nicht herausfinden, welche verwendet werden sollte.


Wie haben Sie das gelöst? Ich habe das gleiche Problem, aber Keychain Access zeigt mir nur ein Zertifikat an.
Dan Ray

11
Ich habe es gefunden. Für die Aufzeichnung war das Problem ein abgelaufenes Zertifikat auf meinem Systemschlüsselbund. Der Schlüsselbundzugriff zeigt standardmäßig keine abgelaufenen Zertifikate an. Ich ging zum System-Schlüsselbund, ließ mich von KA über abgelaufene Zertifikate informieren, löschte das abgelaufene, das mit meinem richtigen auf dem Login-Schlüsselbund kollidierte, und Bobs Onkel.
Dan Ray

Tobias, du bist brillant. Vielen Dank, dass Sie diesen Rechtsklick-Trick gefunden haben.
Greg Combs

Ich hatte auch dieses Problem. In meinem Fall zeigte die Erweiterung, dass der gebräuchliche Name "mehrdeutig" war, da ausgerechnet TweetDeck den Schlüsselbund für eine meiner Kontoanmeldungen befohlen zu haben schien. Ich musste in die Bibliothek / Anwendungsunterstützung / Adobe / Air / ELS / gehen und die dort befindlichen Dateien wegblasen. Dann hat alles gut funktioniert. Bizarr!
dredful

In meinem Fall war das Problem eine Smartcard, die mit einem ungültigen Zertifikat mit meinem Mac mini verbunden war.
Giorgio

18

Es könnte eine seltsame Antwort auf ein Codezeichenproblem in Xcode 9.0 sein. Ich erhielt auch diesen Fehler und wusste nicht, was ich tun sollte, weil alles korrekt war.

Ich ging zum Schlüsselbund, ich hatte die Login-Option "entsperrt". Ich habe es gesperrt und meinen Build erneut kompiliert. Xcode selbst hat mich gebeten, den Schlüsselbund zu öffnen. Ich gab Zugang und es hat funktioniert.

Schritte waren:

  1. Gehe zum Schlüsselbund
  2. Verschließe es
  3. Archivieren Sie den Code und erstellen Sie das Projekt erneut

Dies funktionierte - accountsdhatte beim Neustart nach dem Update einen Schlüsselbundzugriff angefordert, den ich verwarf, weil die darunter liegenden Modalitäten seltsam waren. Den Schlüsselbund zu hüpfen war der Trick
Warren Burton

14

Ich hatte genau den gleichen Fehler und versuchte alles unter der Sonne, einschließlich der anderen auf dieser Seite, ohne Erfolg. Das Problem für mich war, dass in Keychain Access das tatsächliche Apple WWDR-Zertifikat als " Always Trust " gekennzeichnet war. Es musste " System Defaults " sein. Dies gilt auch für Ihre Entwicklungs- und Vertriebszertifikate. Wenn einer von ihnen fälschlicherweise auf " Immer vertrauen " eingestellt ist, kann dies anscheinend dieses Problem verursachen.

Klicken Sie unter Schlüsselbundzugriff auf das Zertifikat der Apple Worldwide Developer Relations-Zertifizierungsstelle und wählen Sie Informationen abrufen . Erweitern Sie dann die Vertrauensstellungen und wählen Sie für das Kombinationsfeld " Bei Verwendung dieses Zertifikats: " die Option " Systemstandards ".

Andere haben kommentiert, dass Sie dies möglicherweise in System- und Login- Schlüsselanhängern für diese Fehler tun müssen .


Vielen Dank, ich war seit den letzten 3 Tagen mit diesem Problem konfrontiert und habe so viele Dinge wie das Entfernen aller Zertifikate aus meinen Zertifikaten, das Entfernen der Apple-ID usw. versucht, aber schließlich funktioniert, wenn ich auf das Zertifikat der Apple Worldwide Developer Relations-Zertifizierungsstelle klicke und Get abwähle Die Info. Erweitern Sie dann die Vertrauensstellungen und wählen Sie für das Kombinationsfeld "Bei Verwendung dieses Zertifikats:" die Option "Systemstandards".
Ankit

9

Es kann viele Gründe geben, wenn Sie diese Art von Fehler erhalten:

  1. Überprüfen Sie, ob Sie in den Einstellungen ein Bereitstellungsprofil ausgewählt haben, das die gültige Codesignaturidentität und eine gültige Bundle- ID enthält. (Gehen Sie zu Build-Einstellungen-> Signieren-> Bereitstellungsprofil).

  2. Öffnen Sie den Schlüsselbundzugriff und klicken Sie oben links auf das Schlosssymbol, um den Anmeldeschlüsselbund zu sperren. Klicken Sie dann erneut auf, um ihn zu entsperren.

Geben Sie hier die Bildbeschreibung ein

  1. Gehen Sie zu Datei-> Projekteinstellungen-> Abgeleitete Daten und löschen Sie Ihren Projekterstellungsordner. Danach bereinigen und erstellen Sie Ihre App.

Ja, @cesarak, das ist eine Art Fehler in Keychain, denke ich.
Rahul Kumar

6

Ich hatte das gleiche Problem beim Aufbau der Distribution. Es ist einfach plötzlich passiert. Tatsächlich hatte ich dieses Problem vor einigen Tagen nicht und ich hatte meine Ad-Hoc-Version richtig kompiliert. Dieses Problem trat auf, weil mein Zertifikat heute abgelaufen ist. Also habe ich ein neues Provisorium erstellt, das den Anweisungen von Apple folgt: (http://developer.apple.com/ios/manage/distribution/index.action).

Nachdem ich Stunden im Internet verbracht hatte und sichergestellt hatte, dass ich nicht darauf hereingefallen war, was schief gehen könnte. Folgendes rettet mich, wie von Tobias und Dan Ray vorgeschlagen:

  1. "... festgestellt, dass Sie mit der rechten Maustaste auf die Fehlermeldung in Xcode klicken können, um Details anzuzeigen".
  2. "... das Problem war ein abgelaufenes Zertifikat in meinem Systemschlüsselbund. Der Schlüsselbundzugriff zeigt standardmäßig keine abgelaufenen Zertifikate an."

Die detaillierten Informationen sagten mir, dass zwei Zertifikate nicht eindeutig übereinstimmen. Eines davon war zufällig ein abgelaufenes Zertifikat in der Systemschlüsselkette. Also habe ich die abgelaufene gelöscht, dann hat es funktioniert! Ich hatte auch Bedenken, was ich beim Erstellen des Verteilungszertifikats mit dem Schlüsselbund-Dienstprogramm in den "allgemeinen Namen" eingeben sollte: meinen Namen oder meinen Firmennamen. In meinem Fall habe ich meinen Namen eingegeben. Ich vermute, es ist der gleiche Titel wie in der Auto-Responder-E-Mail des Entwicklers.

Tolle Hilfe. Vielen Dank.


2

Was für mich funktioniert hat, war das Hinzufügen --deepzu anderen Code-Signatur-Flags in den Build-Einstellungen. Weitere Informationen hier: Das Codesign der Dropbox-API schlägt in Xcode 4.6.3 fehl: "Das Codeobjekt ist überhaupt nicht signiert."

Leider hat diese mehrdeutige Fehlerbedingung 400 verschiedene Lösungen, aber ich schweife ab.


1
Hey Matt, danke! Es hat mich verrückt gemacht. Ich habe ein paar Mal alles gekündigt und es hat nicht funktioniert. Nun - tief geholfen. Aber am Ende habe ich wohl mein Entwicklerkonto in XCode nicht hinzugefügt. Es ist sowieso wirklich seltsam ..
Lukas


1

Ich hatte das gleiche Problem. Am Ende stellte sich heraus, dass mein privater Schlüssel keinen Zugriff auf Codesign zuließ. Dies kann man im Infodialog in der Schlüsselbundanwendung sehen.


1

Ich muss Tobias zustimmen. Der Fehler ist zu allgemein. Als mir dasselbe passiert ist, habe ich mich in die Fehlermeldung vertieft und festgestellt, dass ich etwas in den Build-Eigenschaften vermasselt habe, aber nicht die Codesignatur. Also ja, ich würde mich mit den Details befassen.


1
Sie sollten dies als Kommentar unter der Frage des Benutzers vermerken.
Matteo Alessani

1

In meinem Fall war der Fehler darauf zurückzuführen, dass ich zwei Schlüssel mit demselben Namen am Schlüsselbund hatte. Ich habe die alte gelöscht und das hat das Problem gelöst.

Wenn ich zur Detailmeldung gehe, zeige ich das eigentliche Problem.


1

Nach stundenlangem googeln und ausprobieren verschiedener dinge hat das für mich behoben:

  1. Stellen Sie sicher, dass auf der Registerkarte System> Zertifikate unter Schlüsselbundzugriff keine Zertifikate vorhanden sind. Entfernen Sie alle doppelten Zertifikate von dort.

  2. Installieren Sie das WWDR-Zwischenzertifikat zusätzlich zu den Entwicklerzertifikaten unter Zertifikaten aus dem Bereitstellungsportal und stellen Sie sicher, dass es auf der Registerkarte Anmelden> Zertifikate unter Schlüsselbundzugriff angezeigt wird.

hoffe das hilft einigen von euch!


1

Gleiches Problem mit mehrdeutigen (entspricht "iPhone Developer: [me]" und /// tweetdecks Bibliothek privatisierte Datendatei. Es wurde behoben, indem die Datei in den Papierkorb verschoben und erneut bei Tweetdeck angemeldet wurde, wodurch Passwörter erneut eingerichtet wurden. Was für ein Schmerz.


1

Ich hatte das gleiche Problem, war aber auch im Fehlerprotokoll aufgeführt: CSSMERR_TP_CERT_NOT_VALID_YET

Beim Betrachten des Zertifikats in KeyChain wurde eine ähnliche Meldung angezeigt. Das Problem war darauf zurückzuführen, dass die Systemuhr meines Mac falsch eingestellt war. Sobald ich die richtige Region / Zeit eingestellt hatte, wurde das Zertifikat als gültig markiert und ich konnte meine App auf dem iPhone erstellen und ausführen


1

Ich habe auch diesen Fehler erhalten ("/ usr / bin / Codesign fehlgeschlagen mit Exit-Code 1"), und als ich in Keychain Access nachgesehen habe, wurden meine Entwicklerzertifikate als "Dieses Zertifikat wurde von einer unbekannten Behörde signiert" markiert. Ich hatte kürzlich ein Upgrade auf Mac OS 10.8 durchgeführt und hatte seitdem einige andere Probleme mit XCode (4.5.2). Es stellte sich heraus, dass ich das WWDR-Zwischenzertifikat nicht installiert hatte. Ich habe das vom iOS Provisioning Portal heruntergeladen, es in Keychain Access installiert und mein Projekt wird erneut erstellt!


1

Als ich diesen Fehler bekam, habe ich nicht einmal versucht, die App zu signieren. Ich schrieb eine Test-App und kümmerte mich nicht um das Signieren. Um diese Nachricht loszuwerden, musste ich unter "Codesignatur" in den Build-Einstellungen "Nicht codieren" auswählen.

Geben Sie hier die Bildbeschreibung ein


1

Manchmal muss Ihr Build-Ordner einfach gereinigt werden - das hat bei mir sicherlich funktioniert. Danke an loafer-project für die Lösung.


0

Eine mögliche Ursache ist, dass Sie keine Berechtigung zum Schreiben in das Build-Verzeichnis haben.

Lösung: Löschen Sie alle Build-Verzeichnisse in Ihrem Projektordner und erstellen Sie Ihre Anwendung neu.


0

Ich bin gerade auf diesen Fehler gestoßen, weil ich versucht habe, die Build-Datei auf ein Netzwerklaufwerk zu schreiben, das nicht funktioniert. Versuchte es erneut von meinem Desktop und es funktionierte einwandfrei. (Möglicherweise müssen Sie den Build "bereinigen", nachdem Sie ihn verschoben haben. Wählen Sie einfach "Alle Ziele bereinigen" aus dem Dropdown-Menü "Build".)

Tobias ist jedoch korrekt. Sehen Sie sich die Details des Codes an, indem Sie mit der rechten Maustaste darauf klicken, um zu sehen, was Ihr spezifisches Problem ist.


0

Eine Sache, auf die Sie achten sollten (es ist ein dummer Fehler von meiner Seite, aber es passiert), ist, dass die an den CSR angehängte E-Mail-Adresse mit der E-Mail übereinstimmen muss, die mit Ihrem Apple Dev-Konto verbunden ist. Nachdem ich einen neuen CSR verwendet und alle Zertifikate und Bereitstellungsprofile neu erstellt hatte, war in Appleville alles in Ordnung.


0

Ein weiterer Grund: Überprüfen Sie, ob Ihr Entwicklerkonto mit xCode verbunden ist

Geben Sie hier die Bildbeschreibung ein


0

Ein bisschen alte Frage, aber es passiert immer noch, wie es scheint. Eine andere Lösung:

Trat für mich auf, nachdem ich einen Zweig in Git zurückgesetzt hatte. Versucht zu reinigen, Builds zu reinigen, abgeleiteten zu löschen und Xcode neu zu starten, aber kein Glück.

Versuchen Sie, den Comp neu zu starten.


0

Ich hatte den gleichen unbekannten Fehler beim Codesignieren, den Sie erwähnt haben. Ähnlich wie bei der Antwort (aber etwas anders) habe ich gerade meinen Schlüsselbundzugriff gesperrt und entsperrt, und ich konnte mein Gerät erneut erstellen und ausführen. Wenn jemand das gleiche Problem hat, versuchen Sie es vielleicht zuerst, bevor Sie sich die Mühe machen, das Schlüsselbundkennwort zu ändern.


0

Als ich meine Kommentare in den Ring warf, stieß ich darauf, nachdem ich versucht hatte, meine Entwicklungsumgebung zu aktualisieren, nachdem ich versehentlich auf eine der Anwendungsanforderungen auf VERWEIGERUNG geklickt hatte. Nachdem ich mich umgesehen hatte, fand ich eine Reihe von Dingen, die anscheinend nicht funktionierten. Dies ist die vollständige Reihenfolge, in der ich die Korrekturen versucht habe und ob es einen Erfolg gab:

1) Es wurde versucht, die abgeleiteten Dateien zu löschen und XCode neu zu starten - keine Würfel

2) Es wurde versucht, den Schlüsselbund zu protokollieren und zu entsperren. Starten Sie dann XCode neu - keine Würfel

3) Es wurde versucht, mein Entwicklerkonto in XCode zu aktualisieren - keine Würfel

4) Biss in die Kugel und setze einfach meinen gesamten Schlüsselbund zurück. Danach wurde mein Entwicklerkonto abgemeldet (wieder angemeldet) und dann XCode neu gestartet - keine Würfel

5) Wir haben hier einen Artikel gefunden, der besagt, dass wir die Zertifizierungsstelle [login | local | System] / certificate / Apple Worldwide Developer Relations auf "Systemstandard" setzen müssen. Aber in meinem Fall war es bereits auf Systemstandard eingestellt - keine Würfel

6) Dann habe ich mir mein aktuelles Entwicklerzertifikat-Login / meine Zertifikate / Mac Developer angesehen: und als ich dort hineingeschaut habe, wurde es korrekt auf Bestätigen gesetzt, bevor der Zugriff zugelassen wurde, ABER es gab keine Einträge im unteren Bereich. Es sollte [Xcode, Codesign, Productbuild] geben. Ich habe den Zertifikatseintrag gelöscht und XCode - Bingo neu gestartet

Das Zertifikat wurde hinzugefügt und ich wurde dann aufgefordert. Also, was habe ich getan, ich habe "immer erlauben" gedrückt und mich dann einfach entbeint.

Ich musste zurückgehen und das Zertifikat erneut löschen und dann während eines sauberen Builds etwa 20 Zulassungsdialoge durchlaufen. Nach Fertigstellung konnte ich komplett bauen.


0

In meinem Fall nach ein paar Tagen Recherche,

Alles, was ich getan habe, um mich zu drehen, ist unten aufgeführt:

  1. Löschen Sie das gesamte Zertifikat in Ihrem Schlüsselbund.
  2. Gehe zu deinem Apfelkonto. a) Laden Sie das angegebene Zertifikat herunter, das Sie auf Ihrem Schlüsselbund installieren möchten. b) (Optional) Erstellen Sie auch das erforderliche Profil und laden Sie es herunter.
  3. Bereinigen Sie in Xcode Ihr Projekt. Das kann ein bisschen dauern.
  4. Erstellen Sie Ihr Projekt.

Dies sollte bei ähnlichen Codesign-Problemen funktionieren.

Beachten Sie, dass das Betriebssystem während dieses Vorgangs Ihre Validierung Ihrer Anmeldeinformationen anfordert.


-1

Öffnen Sie den Projektpfad im Terminal und geben Sie die folgenden Befehle im Terminal ein

1) finden. | xargs -0 xattr -c

2) xattr -rc.

Das funktioniert bei mir.


finden . -Typ f -exec xattr -c {} \;
Salbei

Dieser arbeitet für mich; finden . -Typ f -exec xattr -c {} \;
Salbei

was macht das ?
Setar
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.