iOS 7.0 Keine Codesignaturidentitäten gefunden


124
  • Zertifikat ist gültig
  • xcode 5
  • iOS 7

Code-Sign-Fehler: Es wurden keine Codesign-Identitäten gefunden: Es wurden keine Codesign-Identitäten (dh Zertifikat- und private Schlüsselpaare) gefunden, die mit dem in Ihren Build-Einstellungen angegebenen Bereitstellungsprofil („iOS Team Provisioning Profile: *“) übereinstimmen. CodeSign-Fehler: Für den Produkttyp 'Anwendung' im SDK 'iOS 7.0' ist eine Codesignatur erforderlich.


24
Ich nenne dies den Apple Code-Signin-Albtraum. Ich löse dies immer, indem ich meine Zertifikate / Profile entferne, sie erneut herunterlade und dann die richtigen Profile zuordne.
Meda


9
Ein Neustart des Xcodes hilft.
Ronald Randon

2
Das Neustarten von Xcode funktioniert für mich :)
Hemant Chittora

1
Dritter Neustart von XCode
Khanh Nguyen

Antworten:


68

Für Zertifikat

  1. Vorheriges Zertifikat widerrufen.
  2. Neues Entwicklungszertifikat generieren.
  3. Zertifikat herunterladen.
  4. Doppelklicken Sie, um KeyChain einzufügen.

Für das Bereitstellungsprofil

  1. Neues erstellen oder vorhandenes Bereitstellungsprofil bearbeiten.
  2. Herunterladen und installieren.

Für BundleIdentifier.

  1. com.yourcompanyName.Something (wie in AppId)

Geben Sie hier die Bildbeschreibung ein

CodeSigningIdentity.

  1. Wählen Sie das von Ihnen erstellte Bereitstellungsprofil aus.

Geben Sie hier die Bildbeschreibung ein


4
Manchmal hilft ein Neustart. Es hat mir nach dem Neustart meines Mac geholfen.
Maske

1
Sie sollten auch überprüfen, ob ein Distributionsbereitstellungsprofil mit einer App-ID vorhanden ist, die mit der Bundle-ID für die App übereinstimmt. Sobald ich diese gefunden habe, wurde der Übermittlungsdialog beendet und mir wurde dieser Fehler angezeigt.
Chuck Krutsinger

1
Bevor Sie die Zertifikate neu generieren, sollten Sie sicherstellen, dass Sie über den privaten Schlüssel des Zertifikats verfügen, das Sie verwenden möchten.
jjramos

Gibt es einen bestimmten Grund, warum wir die vorherigen Zertifikate widerrufen sollten?
iAviatorJose

43

Meine Lösung für dieses Problem war:

Xcode> Einstellungen. Klicken Sie unter Konten auf Ihre Apple ID. Klicken Sie auf Details anzeigen, klicken Sie auf das Bereitstellungsprofil Ihres Projekts (ich denke, das hilft) und klicken Sie unten links auf die Schaltfläche Aktualisieren.


17

Ich dachte, ich würde andere Antworten mit meiner persönlichen Erfahrung dazu ergänzen.

Vor kurzem hatte ich ein Problem, bei dem zwei Ziele erstellt wurden und zwei mit dem folgenden Fehler fehlschlugen:

Codesignaturfehler: Es wurden keine Codesignaturidentitäten gefunden: Es wurden keine gültigen Signaturidentitäten (dh Zertifikat und privates Schlüsselpaar) gefunden, die mit der Team-ID „XXXXXXXXXX“ übereinstimmen. CodeSign-Fehler: Für den Produkttyp 'Anwendung' im SDK 'iOS 7.1' ist eine Codesignatur erforderlich.

Dies geschah, obwohl alles in Xcode und im iOS Developer Center aktualisiert wurde .

Der Hinweis war, dass die in der Build-Fehlermeldung angezeigte Team-ID nicht mehr aktuell war.

Sicher genug, beim Öffnen der Xcode- project.pbxprojDatei in einem Texteditor wurde die alte Team-ID gefunden:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Um Ihre project.pbxprojDatei zu erhalten, wählen Sie im Übrigen Ihre .xcodeprojDatei aus und zeigen Sie den Inhalt wie hier gezeigt an:

Geben Sie hier die Bildbeschreibung ein

Bei der Suche nach der Ziel-ID D29A93A318AB96440099C177konnte ich feststellen , dass sie mit einem der fehlgeschlagenen Ziele übereinstimmte:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

In diesem Fall MyTarget3. Zur Lösung wurde durch eine einfache Textsuche die alte Team-ID durch die neue korrekte ID ersetzt. Problem gelöst.

Zusammenfassend lässt sich sagen, dass Ihre Situation hoffentlich mithilfe der obigen Antworten gelöst wird, anstatt sich mit der Komplexität der Xcode-Projektdatei zu befassen. Wenn dies jedoch nicht der Fall ist und der Fehler eine ungültige Team-ID anzeigt, sollten Sie überprüfen, ob diese Team-ID noch vorhanden ist.


Dies war auch mein Problem. Ich bin mir nicht sicher, ob es an mir oder jemandem in meinem verteilten Team mit eigenen Profilen, Zertifikaten usw. lag. Ich habe es so eingestellt, dass die pbxproj-Datei einmal schlecht automatisch zusammengeführt wird. Das Entwicklungsteam, das mir aufgefallen ist, stammt aus der Dropdown-Liste Team auf der Registerkarte Allgemein in meinen Projekteinstellungen. Das vollständige Entfernen dieser Zeile hat bei mir funktioniert, wenn das Team auf Keine gesetzt werden soll.
JoshA

Ich habe es überprüft, mein DevelopmentTeam ist korrekt, wie ich die neue ID bekomme? Die Zertifikatsinstallation enthält dasselbe Entwicklungsteam, das sich darin befindet. Bitte helfen Sie
9to5ios

Klappt wunderbar. Ersetzen Sie einfach die im Fehler angezeigte ID durch die darüber liegende.
Avantgarde69

In meinem Fall musste ich auf die Schaltfläche "Fix" unter Ziel -> Allgemein -> Identität
Ohad Schneider

9

Ich hatte genau das gleiche Problem in der Entwicklung. Ich habe es gelöst durch

  1. Gehen Sie zu den XCode-Einstellungen, zeigen Sie Details der Apple ID an und löschen Sie die beanstandete Bereitstellungsdatei.
  2. Gehen Sie zum Schlüsselbundzugriff und löschen Sie das Entwicklungszertifikat, das sich auf die gerade gelöschte Bereitstellungsdatei bezieht.
  3. Laden Sie im Apple Member Center die soeben lokal gelöschte Entwicklungsbereitstellungsdatei herunter und doppelklicken Sie auf die Datei, um sicherzustellen, dass sie in XCode angezeigt wird.
  4. Laden Sie das soeben lokal gelöschte Entwicklungszertifikat herunter und doppelklicken Sie, um sicherzustellen, dass es im Schlüsselbundzugriff angezeigt wird.
  5. Es sollte gut sein, jetzt zu gehen.

2
Diese Antwort muss höher auf der Seite sein.
bkSwifty

8

Ich hatte gerade dieses Problem mit Jenkins.

Die Lösung bestand darin, das Zertifikat zu kopieren und in den Systemschlüsselbund einzufügen, da Jenkins das Zertifikat sonst nicht lesen konnte.


7

Sie sollten nicht alle Profile löschen müssen, um dieses Problem zu beheben.

Beim Betrachten meiner Geräteprofile im Organizer habe ich festgestellt, dass eines meiner Profile nicht gültig ist. Ich ging dann zur Seite Entwicklerzertifikate, -kennungen und -profile und alle Profile waren aktiv, grün und sahen gut aus. Als ich jedoch auf das Profil bearbeitete, das auf meinem Gerät als ungültig angezeigt wurde, stellte ich fest, dass das Kontrollkästchen im zugehörigen Konto nicht aktiviert war obwohl Alle auswählen aktiviert war. Ich habe das Kontrollkästchen aktiviert, um das Profil meinem Zertifikat zuzuordnen, das Profil heruntergeladen und alles wurde behoben.

Klicken Sie auf Ihrer Profil-Webseite auf "Bearbeiten". Auf Ihrer Profil-Webseite

Möglicherweise sehen Sie, dass kein Zertifikat zugeordnet ist, obwohl "Alle auswählen" aktiviert ist. Bearbeiten Sie Ihr Profil! [] [1]


Ich wollte gerade mein gesamtes Bereitstellungsprofil löschen und mit der Skizze beginnen. Dann bin ich auf Ihre Antwort gestoßen. Perfekter Kumpel. Ein ganzer Tag wurde durch dieses Problem verschwendet. Vielen Dank, dass Sie Ihre Antwort geteilt haben.
Nilesh Kumar

4

Für mich hat das Setzen von Projekt → Ziele / [Ihr Projekt] → Allgemein → Team auf "Keine" das Problem gelöst.


4

Nachdem ich eine lächerliche Zeitspanne damit verbracht hatte, eine dieser Fragen zu lösen, und ich definitiv sehen kann, wo die meisten dieser Antworten in einigen Fällen richtig sein könnten, war meine Situation nicht allzu ungewöhnlich.

Ich habe versucht, im App Store bereitzustellen, um mit TestFlight zu testen. Ein früherer Entwickler, der nicht mehr Teil des Projekts oder der Firma war, hatte das IOS-Verteilungszertifikat erstellt. Was xcode mir sagen wollte, war, dass sich das Zertifikat im Mitgliedercenter befand, aber Alter, Sie können es überhaupt nicht verwenden, weil es nicht Ihnen gehört. Ich hatte nicht den privaten Schlüssel, der zum Signieren benötigt wurde, und keine Anzahl von Aktualisierungen, Neustarts und Widerrufen würde mir helfen. Zum Hochladen in den App Store benötigen Sie ein Entwickler- und Vertriebszertifikat.

Die Lösung bestand darin, ein neues Produktionsverteilungszertifikat im Mitgliedercenter mithilfe einer neuen Signaturanforderung von meinem Schlüsselbund zu erstellen. Dieser Prozess wird gut dokumentiert und beschrieben, während Sie das Zertifikat online erstellen. Sobald Sie fertig sind, aktualisieren Sie Ihr Konto in xcode, um es in Ihren Schlüsselbund herunterzuladen, und Sie werden golden sein. Ich hoffe das hilft jemandem!


2

Es mag seltsam klingen, aber für mich hat es funktioniert, meinen Mac neu zu starten. Ich kann nicht erklären, warum und was passiert ist, aber es funktioniert jetzt. hoffe es wird jemandem helfen


2

Ich habe diesen Thread erreicht, wenn ich ein reines Befehlszeilen- / Jenkins-Build-Skript verwende und keine einzelne Benutzeroberfläche / RDP manuell für die Integrationsumgebung einrichten möchte.

Versuchen Sie nach einigen Stunden, genau das gleiche Problem mit Jenkins zu lösen.
Der Schlüssel lautet "Sicherheitslisten-Schlüsselanhänger -s <Ihr_Schlüsselkettenname>".

--- Lange Geschichte ---
Ich verwende ein Skript in Jenkins, um die projektbezogenen Einstellungen (Bereitstellungsprofil und Signaturidentitäten) zu überschreiben.
Nach dem Upgrade auf Xcode 7 muss ich das Skript ändern, das nach "create-" über "list-keychains" hinzugefügt wurde. Schlüsselanhänger "

Skript hier aktualisiert .


1

Sie müssen nicht alle Ihre Profile löschen. Ich hatte das gleiche Problem und habe es durch die Installation der fehlenden Zertifikate behoben. Möglicherweise haben Sie vergessen, das erforderliche Zertifikat für das Bereitstellungsprofil zu installieren, das Sie für die Codesignatur verwenden.

  • Stellen Sie sicher, dass Sie die gewünschten Zertifikate (Entwicklung / Verteilung) im Schlüsselbund für das Bereitstellungsprofil für die Codesignatur (Entwicklung / Verteilung) installiert haben.

1

Versuchen Sie, die Bundle-ID zu ändern: Projekt -> Ziele / [Ihr Projekt] -> Allgemein -> Bundle-ID

Wenn die App im AppStore XCode veröffentlicht wurde, kann die Anwendung nicht mit derselben Bundle-ID erstellt werden.


1

Targeting von iOS 8 und 9 auf Xcode 7. Mein Entwicklungsprofil ist in Ordnung. Ich habe diesen Fehler beim Archivieren der App zum Hochladen in den App Store erhalten. Folgendes habe ich getan:

Xcode> Einstellungen> Konten> Details anzeigen. Klicken Sie neben iOS Distribution auf die Schaltfläche "Zurücksetzen". Dadurch wird das von Ihnen verwendete Verteilungsbereitstellungsprofil ungültig (da Sie das Verteilungszertifikat zurücksetzen). Bearbeiten Sie das Profil daher so, dass es das neu zurückgesetzte Zertifikat enthält.

Stellen Sie sicher, dass Sie sowohl das neue Verteilungszertifikat als auch das neu bearbeitete Verteilungsbereitstellungsprofil herunterladen. Starten Sie Xcode neu.


1

Stellen Sie sicher, dass Ihr Zertifikat mit Ihrem privaten Schlüssel verbunden ist :

Öffnen Sie den Schlüsselbundzugriff, die Anmeldung und die Zertifikate . Suchen Sie das Zertifikat in der Liste und prüfen Sie, ob es ordnungsgemäß mit Ihrem privaten Schlüssel gekoppelt ist.

Wenn das Zertifikat nicht mit einem privaten Schlüssel signiert ist, löschen Sie es, rufen Sie die Apple-Entwicklerseite auf und erstellen Sie ein neues Zertifikat. Manchmal wird es benötigt, um alt zu widerrufen. Dieses neue Zertifikat wird nun ordnungsgemäß mit Ihrem privaten Schlüssel signiert.

Wenn Sie nun über ein neues Zertifikat verfügen, erstellen Sie die erforderlichen Bereitstellungsprofile neu, die das neue Zertifikat in den Erstellungsprozess einbeziehen.

Hinweis: Wenn jemand aus Ihrem Team dieses Zertifikat mit seinem privaten Schlüssel zurücksetzt, kann dasselbe Problem während des Aktualisierungsvorgangs erneut auftreten. Ich bin nicht sicher, aber es scheint, dass jeder Entwickler im Team ein eigenes Zertifikat für die Verteilung haben muss.


1

Offensichtlich hat dieses Problem verschiedene Ursachen. :) :)

Für meinen Fall ist mein Konto-Login abgelaufen ... Ich habe es einfach gelöst:

XCode -> Einstellungen -> Konto -> Apple IDs -> Wählen Sie die zugehörige ID aus und erneuern Sie die Anmeldung ...

Hoffe das hilft!


0

Gehen Sie zum Problemnavigator und überprüfen Sie, ob Signing Identity:Ihr Schlüsselbundzugriff vorhanden ist . Wenn nein, laden Sie die .cerDatei herunter und hängen Sie sie an den Schlüsselbund an.


0

Nachdem ich lange an den Haaren gezogen hatte, fand ich endlich ein Problem. Ich habe beim Erstellen des Bereitstellungsprofils ein falsches Zertifikat ausgewählt. Durch Auswahl des richtigen Zertifikats hat es mir geholfen. In Ihrem Fall, wenn es mehrere sind, müssen Sie versuchen, es auszuwählen eins nach dem anderen, um dieses Problem zu lösen.


0

Ich hatte diesen mehrdeutigen Fehler "Befehl / usr / bin / Codesign fehlgeschlagen mit Exit-Code 1", als ich neue Jenkins-Boxen für iOS-Builds mit Xcode 7.3, OSX 10.11.4 einrichtete.

In meinem Fall hatte ich mehrere Dinge richtig gemacht: 1. Ja, ich hatte meine Zertifikate zum Schlüsselbund hinzugefügt, sowohl Apples Root als auch das Zertifikat des Teams. 2.Ja Ich habe das richtige Bereitstellungsprofil über die Xcode-Einstellungen heruntergeladen. 3. Ja, es wurde sogar manuell in xcode erstellt.

Für Jenkins gab es jedoch möglicherweise ein Caching-Problem bei xcode. Was funktionierte war: 1. Beenden Sie die Xcode-GUI. 2. Steigen Sie wieder ein und führen Sie den Build einmal manuell aus. 3.Nur dann fordert Xcode Sie auf, die Autorisierung des Schlüsselbundzugriffs zuzulassen. 4.Jenkins hat einige Einstellungen, mit denen dies möglicherweise behoben werden kann, aber meine Computer sind sicher. Daher klicke ich auf "Xcode immer auf den Schlüsselbund zugreifen lassen".


0

Mit fastlane installiert haben , können Sie ein Entwicklungs Zertifikat erstellen und installieren

cert --development
sigh --development
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.