web-dev-qa-db-ger.com

/ usr/bin/codesign mit Exitcode 1 fehlgeschlagen

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

/ usr/bin/codesign mit Exitcode 1 fehlgeschlagen

Hat jemand eine Idee, warum das so ist?

79
PF1

Update:
.__ Die technische Anmerkung in meiner ursprünglichen Antwort ist jetzt veraltet. Apple hat eine Sammlung von Problemen beim Signieren von Codes (und einigen Lösungen) in einem neuen Dokument veröffentlicht: Technical Note TN2407 - Index für die Fehlersuche bei der Codierung von Signaturen

Überprüfen Sie die Eigenschaft CODE_SIGN_IDENTITY in Ihren Build-Einstellungen. Ist dort Ihr Provisioning-Profil ausgewählt?
Sie müssen auch eine gültige Bundle-ID in Ihre Apps-.plist eingeben.
.__ Die Kennung muss mit der übereinstimmen, die Sie beim Generieren des Profils angegeben haben.
Apple hat eine technische Anmerkung dazu hier .

54

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

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

25
Tobias Cohen

Es ist möglicherweise eine seltsame Antwort auf das Problem mit dem Codesign in Xcode 9.0. Ich habe auch diesen Fehler erhalten und wusste nicht, was zu tun ist, weil alles richtig war.

Ich ging zum Schlüsselbund, ich hatte die Login-Option "unlocked". Ich schloss es ab und kompilierte meinen Build erneut. 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
15
CODE

Ich hatte genau den gleichen Fehler und habe alles unter der Sonne ausprobiert, auch was sonst auf dieser Seite war, ohne Erfolg. Für mich bestand das Problem darin, dass das eigentliche Apple WWDR-Zertifikat in "Keychain Access" als " Always Trust " gekennzeichnet war. Es musste " System Defaults " sein. Das gilt auch für Ihre Entwicklungs- und Vertriebszertifikate. Wenn einer von ihnen fälschlicherweise auf " Always Trust " gesetzt ist, kann dies anscheinend zu diesem Problem führen.

Klicken Sie also in Keychain Access auf das Zertifikat der Apple Worldwide Developer Relations Certificate Authority, und wählen Sie Get Info . Erweitern Sie dann die Vertrauenseinstellungen und für das Kombinationsfeld für " Bei Verwendung dieses Zertifikats: " wählen Sie " System Defaults ".

Andere haben kommentiert, dass Sie dies unter System und login keychains für diese errors tun müssen.

13
Nate

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

  1. Prüfen Sie, ob Sie ein Bereitstellungsprofil ausgewählt haben, das die gültige Code Signing Identity und eine gültige Bundle-ID in den Einstellungen enthält. (Springen Sie zu Build-Einstellungen-> Signieren-> Bereitstellungsprofil).

  2. Öffnen Sie Keychain Access und klicken Sie oben links auf das Schlosssymbol, um den Login-Schlüsselbund zu sperren. Klicken Sie anschließend erneut auf, um die Sperre aufzuheben.

 enter image description here

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

Ich hatte das gleiche Problem beim Distributionsaufbau. Es ist ganz plötzlich passiert. Tatsächlich hatte ich dieses Problem vor einigen Tagen nicht und ich hatte meine Ad-hoc-Version richtig kompiliert. Dieses Problem ist aufgetaucht, weil mein Zertifikat heute abgelaufen ist. Also habe ich eine neue provisorische Anleitung nach Apples Anleitung erstellt (http://developer.Apple.com/ios/manage/distribution/index.action). 

Nachdem ich Stunden im Netz verbracht hatte und sichergestellt hatte, dass ich nicht darauf reingefallen war, was schief gehen konnte. Speichern Sie 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 System-Schlüsselbund. Schlüsselbund-Zugriff zeigt standardmäßig keine abgelaufenen Zertifikate an". 

Die ausführlichen Informationen zeigten mir, dass zwei Zertifikate nicht eindeutig übereinstimmten. Eines davon war zufällig ein abgelaufenes Zertifikat in der Systemschlüsselkette. Also habe ich den abgelaufenen gelöscht, dann hat es funktioniert! Ich hatte auch Bedenken, was in den "allgemeinen Namen" einzugeben ist, wenn das Verteilungszertifikat mit dem Schlüsselbunddienstprogramm erstellt wird: Mein Name oder mein Firmenname. In meinem Fall habe ich meinen Namen eingegeben. Ich vermute, es ist das gleiche wie der Titel, den die Auto-Responder-E-Mail des Entwicklers anspricht. 

Tolle Hilfe. Vielen Dank.

6
Wayne Lo

Für mich funktionierte das Hinzufügen von --deep zu Other Code Signing Flags in den Build-Einstellungen ..__ Weitere Informationen hier: Die Codierung der Dropbox-API schlägt in Xcode 4.6.3 fehl: "Code-Objekt ist überhaupt nicht signiert"

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

2
Matt Montag

Wenn der Fehler unmittelbar vor dem Codesign-Fehler wie "Ressourcenzweig, Finder-Informationen oder ähnliches Detritus nicht zulässig" lautet

Navigieren Sie dann zur .app-Datei in Terminal und geben Sie Folgendes ein:

xattr -cr <Pfad_zu_Anschlussbundle>

ref: https://developer.Apple.com/library/content/qa/qa1940/_index.html

2
Fiach Reid

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

Beim Anzeigen des Zertifikats in KeyChain wurde eine ähnliche Meldung angezeigt. Das Problem lag darin, dass die Systemuhr meines Macs nicht richtig eingestellt war. Sobald ich die richtige Region/Zeit eingestellt habe, wurde das Zertifikat als gültig markiert und ich konnte meine App auf dem iPhone erstellen und ausführen

1
MCP

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

Die Detailmeldung zu zeigen, zeigt mir das eigentliche Problem.

1
Jaume

Manchmal muss Ihr Build-Ordner einfach gesäubert werden - es hat sicherlich für mich funktioniert. Danke an loafer-project für die Lösung.

1
Nanki

Ich habe auch diese Fehlermeldung erhalten ("/ usr/bin/codesign schlug mit Exit-Code 1 fehl"), und als ich in Keychain Access nachschaute, wurden meine Entwicklerzertifikate als "Dieses Zertifikat wurde von einer unbekannten Stelle signiert" markiert. Ich hatte kürzlich ein Upgrade auf Mac OS 10.8 durchgeführt und hatte seitdem ein paar andere Probleme mit XCode (4.5.2). Es stellt sich heraus, dass ich das WWDR-Zwischenzertifikat nicht installiert habe. Ich habe es vom iOS Provisioning Portal heruntergeladen, in Keychain Access installiert und mein Projekt wird erneut erstellt!

1
Chris Prince

Das gleiche Problem ist mehrdeutig (entspricht "iPhone Developer: [me]" und der Privatedata-Datei der /// tweetdeck-Bibliothek. Dieses Problem wurde behoben, indem die Datei in den Papierkorb verschoben und in Tweetdeck neu protokolliert wurde, wodurch erneut Kennwörter eingerichtet wurden.

1
anna

nachdem ich stundenlang gegoogelt und verschiedene Dinge ausprobiert hatte, war das für mich das Richtige:

  1. Stellen Sie sicher, dass auf der Registerkarte System> Zertifikate in Keychain Access keine Zertifikate vorhanden sind. Entfernen Sie alle doppelten Zertifikate von dort.

  2. Installieren Sie das WWDR-Zwischenzertifikat unter den Zertifikaten des Bereitstellungsportals zusätzlich zu den Entwicklerzertifikaten. Stellen Sie sicher, dass Sie es auf der Registerkarte Anmelden> Zertifikate in Keychain Access sehen.

hoffe das hilft einigen von euch!

1
a_s_

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

1
user312143

Als ich diesen Fehler bekam, versuchte ich nicht einmal, die App zu signieren. Ich schrieb eine Test-App und interessierte mich nicht für das Signieren. Um diese Nachricht loszuwerden, musste ich in den Build-Einstellungen unter Codesignatur "Don't Code Sign" auswählen.

enter image description here

1
spfursich

Ich muss Tobias zustimmen. Der Fehler ist zu allgemein. Als mir dasselbe passierte, griff ich in die Fehlermeldung und stellte fest, dass ich etwas in den Build-Eigenschaften vermasselt hatte, nicht jedoch die Codesignierung. Ja, ich würde mich bis ins kleinste Detail auskennen. 

1
Rob Kelley

Eine Sache, auf die Sie achten sollten (es ist ein dummer Fehler von meiner Seite, aber es passiert), ist, dass die E-Mail-Adresse, die der CSR zugeordnet ist, mit der E-Mail-Adresse Ihres Apple Dev-Kontos identisch sein muss. Nachdem ich einen neuen CSR verwendet und alle Zertifikate und Bereitstellungsprofile neu erstellt hatte, war alles in Applesville gut. 

0
Ash Menon

Irgendwie eine alte Frage, aber es scheint immer noch so. Eine andere Lösung: 

Ist für mich aufgetreten, nachdem ich einen Zweig in git zurückgestellt habe. Versuchte Bereinigung, Bereinigung von Builds, Löschen abgeleiteter und Neustart von Xcode, aber kein Glück.

Versuchen Sie, den Comp neu zu starten.

0
Mars

Eine mögliche Ursache ist, dass Sie nicht über die Berechtigung zum Schreiben in das Build-Verzeichnis verfügen.

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

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

 enter image description here

0
Ofir Malachi

Nachdem ich meine Kommentare in den Ring geworfen habe, habe ich versucht, meine Entwicklungsumgebung zu aktualisieren, nachdem ich versehentlich auf eine der Anwendungsanforderungen auf DENY geklickt habe. 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 ein Erfolg aufgetreten ist:

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

2) Es wurde versucht, den Schlüsselbund zu protokollieren und zu entsperren und anschließend XCode neu zu starten - keine Würfel

3) Ich habe versucht, mein Entwicklerkonto in XCode zu aktualisieren - keine Würfel

4) Beiß auf die Kugel und setze einfach meinen gesamten Schlüsselbund zurück, nachdem mein Entwicklerkonto abgemeldet (wieder angemeldet) und XCode neu gestartet wurde - keine Würfel

5) Hier wurde ein Artikel gefunden, in dem angegeben wurde, dass die Zertifizierungsstelle [login | local | system]/certificate/Apple Worldwide Developer Relations auf "System default" gesetzt werden muss. Aber in meinem Fall war es bereits auf Systemstandard gesetzt - keine Würfel

6) Dann habe ich mir mein aktuelles Entwicklerzertifikat-Login/meine Zertifikate/Mac-Entwickler angesehen: und als ich dort nachgesehen habe, war es korrekt auf Bestätigen eingestellt, bevor ich den Zugriff erlaubte, ABER es gab keine Einträge im unteren Bereich. Es sollte [Xcode, Codesign, Productbuild] geben. Ich habe den Zertifikateintrag 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 wieder löschen, dann ungefähr 20 Erlaubnisdialoge während eines sauberen Aufbaus durchlaufen. Einmal fertiggestellt, konnte ich komplett bauen.

0
kendavidson

Ich hatte den gleichen unbekannten Fehler bei der Codierung, den Sie erwähnt haben. Ähnlich wie in der Antwort (aber etwas anders) sperrte ich einfach den Zugriff auf den Schlüsselbund und entsperre ihn, und ich konnte wieder auf meinem Gerät bauen und darauf zugreifen. Wenn jemand das gleiche Problem hat, versuchen Sie es zuerst, bevor Sie sich die Mühe machen, das Kennwort für den Schlüsselbund zu ändern.

0
sumit mehra

Ich bin gerade auf diesen Fehler gestoßen und habe versucht, die Build-Datei auf ein nicht funktionierendes Netzlaufwerk zu schreiben. Ich habe es erneut von meinem Desktop aus versucht und es hat gut funktioniert. (Möglicherweise müssen Sie den Build nach dem Verschieben "bereinigen". Wählen Sie im Dropdown-Menü "Build" die Option "Alle Ziele bereinigen").

Tobias hat jedoch Recht. Durch einen Rechtsklick in den Code können Sie die Details des Codes anzeigen, um zu sehen, was Ihr spezielles Problem ist.

0
Dancreek