ios - unknown - xcode command codesign failed with a nonzero exit code




Codesign-Fehler: Das Bereitstellungsprofil wurde nach dem Löschen des abgelaufenen Profils nicht gefunden (11)

Versucht, eine App neu zu erstellen, die gerade gestern gearbeitet hat. Habe eine Nachricht bekommen, dass ein Profil abgelaufen ist, also habe ich es vom iPod und von iTunes entfernt. Als ich ein neues Profil (eines mit einem * in der Kennung) wählte, erhalte ich jetzt einen Fehler:

Code Sign Error: Provisioning Profile (long string) can't be found.

Was vermisse ich? Ich habe verwandte Fragen durchgesehen und dieses Szenario nicht schon gesehen.


  1. Projekt- und Zieleigenschaften -> "Nicht codieren" -> OK -> cmd + S (oder cmd + B);
  2. Projekt- und Zieleigenschaften -> "Ihr Bereitstellungsprofil" -> OK

  3. Alles funktioniert wieder!


Die Lösung von Brad Smith arbeitete für mich, aber ich musste auch das CODE_SIGN_IDENTITY-Feld entfernen, damit es funktioniert.


Habe gerade eine Stunde oder so damit verbracht und mit Hilfe von Brad's Rat und ein paar zusätzlichen Änderungen hat alles funktioniert.

Ich habe dies mit dem folgenden getan: 10.7.3, Xcode 4.3.2, iOS 5.1 btw.

1) Klicken Sie mit der myapp.xcodeproj auf Ihren myapp.xcodeproj und wählen Sie den Paketinhalt aus

2) Öffnen Sie project.pbxproj mit einem Texteditor (empfehlen Sie nicht Textedit, da dies die Formatierung beschädigen könnte)

3) Scrolle ganz nach unten, bis du /* Begin XCBuildConfiguration section */

4) Beachten Sie, dass Sie Abschnitte zum Debuggen und Freigeben haben

5) In der Release-Sektion werfen CODE_SIGN_IDENTITY einen Blick auf CODE_SIGN_IDENTITY & "CODE_SIGN_IDENTITY[sdk=iphoneos*]" sollte in etwa so aussehen:

CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";

6) PROVISIONING_PROFILE dir PROVISIONING_PROFILE und "PROVISIONING_PROFILE[sdk=iphoneos*]" , die so aussehen sollten:

PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

Dies sollte mit Ihrem Bereitstellungsprofil in Xcode übereinstimmen. Um zu sehen, ob sie mit offenem Xcode übereinstimmen> Fenster> Organizer> Geräte> Bereitstellungsprofile> Rechtsklick auf das Profil> Im Finder anzeigen> Der Dateiname von .mobileprovision ist Ihre Profil-ID.

7) Scrollen Sie nach unten in der project.pbxproj und suchen Sie eine zweite Instanz des Release-Bereichs. Die zweite Instanz des Release-Abschnitts sollte mit einem Kommentar enden, der /* End XCBuildConfiguration section */

8) stelle sicher, dass der zweite Abschnitt mit dem ersten Abschnitt CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] so dass CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] und PROVISIONING_PROFILE alle ausgefüllt sind.


Habe gerade eine Variation zu diesem Thema gesehen: Ich bin in die Datei project.pbxproj gegangen, wie in den obigen Notizen von Brad Smith, außer dass in diesem Fall alle PROVISIONING_PROFILE-Zeilen korrekt zu sein schienen, ohne dass die "schlechte" Profil-Zeichenfolge von XCode gefunden wurde nicht finden.

Das Update war jedoch das gleiche: Löschen aller PROVISIONING_PROFILE-Zeilen in project.pbxproj, auch wenn sie in der Theorie "gut" aussahen und dann das Projekt in XCode erneut öffneten.


Ich bin gerade auf dieses Problem in meinem XCode4 gestoßen. Um es zu beheben, müssen Sie alle richtigen Bestimmungen in Debug- und Release-Konfiguration setzen.

Ich habe versucht, meine App einzureichen (durch Archivierung). Also ändere ich einfach die Debug-Bestimmungen in "Do not Code Sign" und die Release-Bereitstellung in die Appstore-Bereitstellung meiner App.

Das behebt es und ermöglicht es mir, normal zu archivieren. Ich hoffe, das hilft.


Ich hatte Probleme, weil ich mein AdHoc-Bereitstellungsprofil mit einigen neuen Geräten für TestFlight aktualisiert habe. Vermutlich geschieht dies, weil xcode in den Build-Einstellungen für das Projekt oder die Ziele einen alten Verweis auf Ihr Bereitstellungsprofil hat. Die Art, wie ich meine repariert habe, war:

  1. Wechseln Sie zu den Zielerstellungseinstellungen und zu den Projektbuildeinstellungen. Unter Codesignatur ändern Sie alle Bereitstellungsprofile auf eine andere Weise.
  2. Gehen Sie zu den Geräten / Bereitstellungsprofilen im Organizer, löschen Sie die problematischen Profile und klicken Sie auf die Schaltfläche zum Aktualisieren unten rechts.
  3. Kehren Sie zu den Ziel- und Projektbuildeinstellungen zurück und legen Sie Ihre Bereitstellungsprofile auf die entsprechenden (hoffentlich) neu aktualisierten Bereitstellungsprofile fest.

In meinem Fall wurde das Problem gelöst, indem ich Window -> Organizer öffnete, mein Gerät auswählte und das alte Provisioning-Profil unter dem "Provisioning" -Panel auf der rechten Seite entfernte. Das alte war bereits mit einem roten "x" -Symbol markiert, aber das iPhone benutzte es immer noch.

Neben diesem Profil erschien auch der neue (mit dem gleichen Namen) und nachdem ich die Anwendung einfach neu gestartet hatte, lief es reibungslos.


Leider hat dieser Ansatz für mich nicht geklappt. Aber hier ist ein Update, das für mich funktioniert hat (um das zu erreichen, benötigen Sie eine funktionierende Projektdatei auf Subversion oder so):

Ich habe zu einer funktionierenden Version meiner Projektdatei zurückgekehrt. Da es nicht möglich ist, mit Xcode zurückzukehren ( Wo ist die 'Revert' Option in Xcode 4 Source Control? ) - Ich habe Tortoise, meine Windows-Maschine und dieses Tutorial ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html ), um zu einer älteren Projektdatei zurückzukehren.

Da das Tutorial für mich nicht funktionierte, habe ich einfach Tortoise verwendet, um die Arbeitsrevision meiner Projektdatei auf einem USB-Stick zu speichern, um sie auf meinen Mac zu portieren. Danach habe ich die neue kaputte Projektdatei durch die alte ersetzt, gereinigt und es funktionierte wie ein Zauber!


Sie können die alte Referenz der Bereitstellungsdatei entfernen. Dann nach dem Import des neuen Provisioning-Profils und der Auswahl des Xcode-Builders.


Verwenden Sie diese Befehle, um Brads Lösung vollständig in Terminal zu erreichen

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - lösche die gesamte Zeile
  5. Drücken Sie n, bis keine weiteren gefunden werden
  6. Strg + X zum Speichern und Schließen

Zumindest in Xcode 5 hat das das Problem für mich gelöst:

Wählen Sie unter Bereitstellungsprofil das problematische Bereitstellungsprofil aus und wählen Sie dann im Pulldown-Menü ein gültiges Bereitstellungsprofil aus.





codesign