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?
Antworten:
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 .
quelle
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.
quelle
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:
quelle
accountsd
hatte 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 TrickIch 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 .
quelle
Es kann viele Gründe geben, wenn Sie diese Art von Fehler erhalten:
Ü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).
Ö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.
quelle
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:
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.
quelle
Was für mich funktioniert hat, war das Hinzufügen
--deep
zu 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.
quelle
Wenn der Fehler unmittelbar vor dem Codezeichenfehler so etwas wie "Ressourcengabel, Finder-Informationen oder ähnliches Detritus nicht zulässig" anzeigt.
Navigieren Sie dann zur .app-Datei im Terminal und geben Sie Folgendes ein:
xattr -cr <path_to_app_bundle>
Ref: https://developer.apple.com/library/content/qa/qa1940/_index.html
quelle
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.
quelle
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.
quelle
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.
quelle
Nach stundenlangem googeln und ausprobieren verschiedener dinge hat das für mich behoben:
Stellen Sie sicher, dass auf der Registerkarte System> Zertifikate unter Schlüsselbundzugriff keine Zertifikate vorhanden sind. Entfernen Sie alle doppelten Zertifikate von dort.
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!
quelle
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.
quelle
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
quelle
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!
quelle
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.
quelle
Manchmal muss Ihr Build-Ordner einfach gereinigt werden - das hat bei mir sicherlich funktioniert. Danke an loafer-project für die Lösung.
quelle
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.
quelle
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.
quelle
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.
quelle
Ein weiterer Grund: Überprüfen Sie, ob Ihr Entwicklerkonto mit xCode verbunden ist
quelle
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.
quelle
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.
quelle
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.
quelle
In meinem Fall nach ein paar Tagen Recherche,
Alles, was ich getan habe, um mich zu drehen, ist unten aufgeführt:
Dies sollte bei ähnlichen Codesign-Problemen funktionieren.
Beachten Sie, dass das Betriebssystem während dieses Vorgangs Ihre Validierung Ihrer Anmeldeinformationen anfordert.
quelle
Ö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.
quelle