Xcode 8 zeigt den Fehler an, dass das Bereitstellungsprofil kein Signaturzertifikat enthält.
Dieses Problem tritt bei Xcode-8 nur bei Xcode 7 auf, wobei dasselbe Bereitstellungsprofil das zugehörige identifizierte Zertifikat anzeigt.
Xcode 8 zeigt den Fehler an, dass das Bereitstellungsprofil kein Signaturzertifikat enthält.
Dieses Problem tritt bei Xcode-8 nur bei Xcode 7 auf, wobei dasselbe Bereitstellungsprofil das zugehörige identifizierte Zertifikat anzeigt.
Antworten:
Es gibt viele Möglichkeiten, dies zu beheben, z. B. das Aktivieren der automatischen Signatur usw. Wenn Sie jedoch den Grund für diesen Fehler verstehen möchten, müssen Sie sich die Fehlermeldung ansehen.
Es heißt, dass das Bereitstellungsprofil, das Sie auf der Registerkarte "Allgemein" ausgewählt haben, nicht das Signaturzertifikat enthält, das Sie in den "Build-Einstellungen" -> "Code Signing Identity" ausgewählt haben.
Normalerweise geschieht dies, wenn ein Verteilungszertifikat für die Debug-Identität unter "Build-Einstellungen" -> "Code Signing Identity" ausgewählt wurde.
Wenn dies unter "Signieren (Debuggen)" geschieht, kann es auch sein, dass die "Signaturidentität" -> "iOS-Entwicklung" nicht im Bereitstellungsprofil enthalten ist.
Überprüfen Sie Ihren Schlüsselbund auf Identitäten, denen ein privater Schlüssel fehlt. Ich hatte mehrere Verteilungszertifikate für dasselbe Team installiert, von denen einem der private Schlüssel fehlte. Xcode überprüfte nur die erste übereinstimmende Identität im Schlüsselbund und verwendete diese automatisch im Gegensatz zu der, die den privaten Schlüssel enthielt.
Durch Entfernen der übereinstimmenden Identität ohne privaten Schlüssel erkannte Xcode die korrekte Identität erneut.
Um dies zu beheben,
Ich aktiviere nur die "Automatische Signatur verwalten" auf der Registerkarte "Allgemeine Projekteinstellungen". Vor dem Aktivieren hatte ich Angst, dass es einige Nebenwirkungen haben könnte, aber sobald ich sie aktiviere, funktioniert das für mich.
Für diejenigen, die aus irgendeinem Grund nicht auotamatisch verwenden sollten
Öffnen Sie keyChain Access, um zu sehen, ob es zwei gleiche Zertifizierungen gibt. Wenn es zwei oder mehr gibt, löschen Sie einfach auf eine und es wird funktionieren :)
Dieses Problem trat auf, nachdem Xcode kürzlich auf Version 9.3 aktualisiert wurde. Das Problem bestand darin, dass das Code-Signatur-Zertifikat (unter Debug) auf das Verteilungszertifikat anstelle des Entwicklungszertifikats gesetzt wurde, sodass ich die App nicht auf meinen Geräten installieren konnte.
Folgendes habe ich getan, um dieses Problem zu lösen.
Projekt -> Ziele -> Wählen Sie Ihre App aus -> Build-Einstellungen -> Code Signing Identity -> Debug -> Tippen Sie zweimal auf "iPhone Distribution" und ändern Sie sie in "iPhone Developer".
Ich habe die Option "Signieren automatisch verwalten" deaktiviert und dann aktiviert. Das hat es für mich behoben.
Die automatische Signatur ist jedes Mal fehlgeschlagen, bis ich lokale Profile in: ~ / Library / MobileDevice / Provisioning Profiles manuell gelöscht habe
Danach funktionierte die automatische Signatur einwandfrei und es wurden die richtigen Profile von Apples Servern abgerufen.
Dies betraf nur einige Builds, insbesondere diejenigen, für die ich manuell Profile für die Watch-App erstellt hatte.
CMD + Shift + .
, um alle versteckten Dateien anzuzeigen.
Für diejenigen, die immer noch mit diesem Problem in Xcode8 zu kämpfen haben. Für mich war ein doppeltes Zertifikatproblem, so habe ich es gelöst:
Ich las die Antwort von Nick und begann dann meine Untersuchung. Ich habe alle Schlüssel und Zertifikate in meinem speziellen Fall überprüft (in ~ / Library / Keychains / System.keychain).
Als ich die Datei öffnete, stellte ich fest, dass ich zwei iPhone-Verteilungszertifikate hatte (das war das Zertifikat, das Xcode von mir angefordert hatte), eines mit dem privaten Schlüssel für die iOS-Verteilung, den ich von Anfang an verwendet habe, und ein weiteres iPhone-Verteilungszertifikat, das es ist Der private Schlüssel hatte einen Namen (iOS Distribution: NAME), der mir nicht bekannt war. Ich habe dieses letzte Zertifikat gelöscht, Xcode erneut gestartet und das Problem war behoben. xCode konnte diesen Konflikt nicht lösen und gab deshalb ständig einen Fehler beim Signieren des Zertifikats.
Überprüfen Sie Ihre Schlüsselanhänger, möglicherweise haben Sie ein doppeltes Zertifikat.
Wenn Sie die manuelle Signatur verwenden (was ich definitiv empfehlen würde), kann dieser Fehler auftreten, da Xcode der Meinung ist, dass ein Release-Build mit einem Entwicklerzertifikat signiert werden sollte, das offensichtlich nicht in einem Release-Bereitstellungsprofil enthalten ist.
Es gibt eine Build-Einstellung, die definiert, welches Zertifikat für welche Build-Konfiguration verwendet werden soll. Um dies zu ändern, gehen Sie zu Einstellungen erstellen und suchen Sie nach Code Signing Identity . Bei der Erweiterung sollten für jede Build-Konfiguration (normalerweise Debug und Release) separate Zeilen mit der ausgewählten Identität in der zweiten Spalte (normalerweise iOS Developer oder iOS Distribution) vorhanden sein. Stellen Sie sicher, dass für jede Build-Konfiguration die richtige Identität festgelegt ist.
In einigen Fällen können die Build-Konfigurationen auch erweitert werden. Stellen Sie sicher, dass auch die Unterelemente auf die richtigen Identitäten eingestellt sind.
Sie können Probleme mit der Codesignatur auch mit dem großartigen Fastlane-Toolkit lösen . Die Autoren geben sich große Mühe, das Erstellen und Signieren von iOS-Apps (und mehr) effektiv zu automatisieren.
In der genannten Suite gibt es also ein Tool, sigh
das Signaturprobleme auf magische Weise löst, daher der Name :) Das Schöne daran ist, dass dieses Tool das Wissen über häufig auftretende Signaturprobleme zusammenfasst und die meisten von ihnen erkennen und beheben kann.
Fastlane wird als Ruby Gem installiert:
gem install fastlane
Und dann einfach aufgerufen:
fastlane sigh --development
Beantworte zwei Fragen und voila:
[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...
Gehen Sie schließlich zu Build Settings -> Signing und wechseln Sie zu dem neu erstellten Bereitstellungsprofil, dessen Namen Sie gerade in der Befehlsausgabe gesehen haben.
Dieses Beispiel betrifft ein Problem mit der Signatur des Entwicklungscodes (wird auf dem Gerät ausgeführt). Überprüfen Sie die Seufzer-Dokumentation auf alle anderen Optionen.
Hatte den gleichen Fehler. Profile scheinen erneuert zu sein, neue Zertifikate hinzugefügt, ich habe sie sogar beim Download überprüft. Auch widerrufene frühere Entwicklerzertifikate, die vom Bereitstellungsprofil ausgeschlossen sind. Aber Xcode fragt mich immer noch nach früheren Zertifikaten mit Fehler:
No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found
Also, was ich getan habe, um das Problem zu beheben:
Build Settings
-> Signing
->Code Signing Identity
Hoffe es wird jemandem helfen.
In meinem Fall hatte ich im Schlüsselbund zwei Zertifikate mit demselben Namen. Ich entfernte eines der Zertifikate, das doppelt vorhanden ist, und löste dann das Problem.
Xcode 11
Dies ist der Fehler, den ich bekommen habe
Das Bereitstellungsprofil "XXX" enthält kein Signaturzertifikat "Apple Development: XXX (XXX)". `` `
Jetzt hat Xcode 11 automatisch ein Zertifikat "Apple Development: XXX" erstellt, das für alle Plattformen gültig ist
Du musst nur
Ich hatte noch private Schlüssel von Zertifikaten, die ich widerrufen hatte. Zertifikate waren weg, aber nicht die privaten Schlüssel. Das Löschen löste das Problem.
Um sie zu finden:
Der hervorgehobene Schlüssel im Bild ist ein privater Beispielschlüssel ohne Zertifikat.
Ich habe das gleiche Problem. Ich habe den Mac gewechselt. Beim Herunterladen des Xcode-Zertifikats wurde die folgende Fehlermeldung angezeigt: "Der Fehler besteht darin, dass das Sicherheitsprofil die Zertifikatsignatur nicht enthält."
1) Gehen Sie zu https://developer.apple.com/account/ios/profile/limited/edit. Wählen Sie das Projekt aus => bearbeiten => Zertifikate => Alle auswählen => Erstellen => Herunterladen
2) In Xcode: Projektdatei => Signieren (Debuggen) => Bereitstellungsprofil => Profil importieren => Datei mit 1 auswählen
Für mich hat keine der oben genannten Lösungen funktioniert. Ich habe von zwei älteren Macs auf einen neuen Mac migriert und versucht, Release- / Debug-Profile für Xcode zu erstellen, ohne dass Xcode sie automatisch verwaltet.
Die Lösung für mich war, dass ich beim Erstellen der beiden neuen Zertifikate AUCH in meine Bereitstellungsprofile gehen und die neuen Zertifikate (sowohl unter der Distribution als auch unter dev) zu den so erkannten Bereitstellungsprofilen hinzufügen musste. Nachdem Sie dies getan und heruntergeladen haben, hat xcode alle Fehler entfernt und es ist gut zu gehen.
Hoffe das hilft jemandem!
Ich habe eine dieser E-Mails von Apple erhalten:
Lieber John Doe,
Das folgende Zertifikat wurde entweder von einem Mitglied Ihres Entwicklungsteams widerrufen oder ist abgelaufen:
Zertifikat: iOS-Entwicklung
Teamname: Honey Team, LLC
Dies hat keine Auswirkungen auf Apps, die Sie an den App Store gesendet haben, oder auf Ihre Fähigkeit, Ihre Apps zu aktualisieren. Wenn Sie Bereitstellungsprofile verwenden, die dieses Zertifikat enthalten, müssen diese neu erstellt werden, bevor sie wiederverwendet werden können. Weitere Informationen finden Sie im Abschnitt "Übersicht über die App-Signatur" in der Xcode-Hilfe.
Freundliche Grüße,
Unterstützung für Apple Developer Program
Ich habe ein neues Zertifikat erstellt, das das vorherige Zertifikat widerrufen hat (lokal und auf dem Mac eines anderen Entwicklers). Damit es funktioniert, muss ich die neuen Bereitstellungsprofile herunterladen .
Die Lösung ist:
Ich persönlich hatte keinen solchen Zugang. Dieser Zugriff war nur für den Administrator unseres Teams verfügbar, daher habe ich weder Screenshots noch bin ich mir sicher, ob diese Schritte zu 100% korrekt sind.
Ich habe dies noch nicht erwähnt gesehen, aber wenn Sie nach dem Neuerstellen Ihrer Bereitstellungsprofile, dem Löschen der vorhandenen Profile in Ihrem Ordner "Bereitstellungsprofile", dem Suchen nach Dupes in Ihrem Schlüsselbund usw. (alle anderen Antworten ITT) immer noch Probleme haben, öffnen Sie Ihre Ziel> Build-Einstellungen> Codesignatur und stellen Sie sicher, dass dort alles konsistent aussieht. Zum Beispiel hatte ich die Codesignatur-Identifikation für das Debuggen in eine Verteilungsidentität geändert, was offensichtlich nicht funktionieren würde, da das Entwicklungsbereitstellungsprofil nicht über das Verteilungszertifikat verfügt und den Fehler überhaupt erst verursacht hat.
Wenn Sie versuchen, Ihre App auf iTunes Connect hochzuladen (Ihre Bereitstellungsprofile sind auf Verteilung eingestellt), gehen Sie zu Projekteinstellungen -> Build-Einstellungen -> Codesignatur. Stellen Sie sicher, dass alle Debug- und Release-Optionen auf Ihr Distribution Provisioning Provisioning-Profil festgelegt sind.
Das Problem scheint in Xcode 11 aufzutreten .
Hier sind die für mich gelösten Schritte (für diejenigen, die in XCode 9.2 vor dem gleichen Problem stehen):
Einfach manuell gelöschte lokale Profile in ~ / Library / MobileDevice / Provisioning Profiles.
Alle Zertifikate und Bereitstellungsprofile aus dem Entwicklerkonto gelöscht und erstellt.
Das Entwicklerkonto wurde aus Xcode entfernt und erneut hinzugefügt.
Mein Problem gelöst! :-)
Ich hatte das gleiche Problem und Grund war Penny. In den Build-Einstellungen wurde ein falsches Profil und Zertifikat ausgewählt. Ich hatte das erst vor ein paar Tagen getan. Sie müssen also nicht "automatisch" in xcode aktivieren. Überprüfen Sie die Profile in Ihren Build-Einstellungen, bevor Sie dies tun.
Ich hatte viele Tage damit zu kämpfen.
Schritt 1: Alle Zertifikate, Bereitstellungsprofile, AppIDs, Schlüssel usw. aus dem Entwicklerkonto gelöscht.
Schritt 2: Die Push-Benachrichtigungszertifikate, das Bereitstellungsprofil, die App-ID usw. wurden neu erstellt.
Schritt 3: Alle Zertifikate aus dem Schlüsselbund gelöscht.
Schritt 4: Löschen Sie das gesamte Bereitstellungsprofil aus ~ / Library / MobileDevice / Provisioning Profiles.
Schritt 5: Nur die erforderliche Bereitstellungsdatei hinzugefügt und getestet. Es funktioniert gut.
Dies bedeutet, dass Sie einen der folgenden Schritte ausführen müssen:
Eine Lösung für Nummer 2, wenn Sie das Zertifikat und die P12-Datei nicht vom Ersteller erhalten können, besteht darin, einfach die Option "Signieren automatisch verwalten" zu aktivieren.
Dies liegt daran, dass das Bereitstellungsprofil die Datei für das Zertifikat, mit dem es verknüpft ist, nicht finden kann .
Reparieren:
Der Fehler sollte jetzt verschwunden sein.
Dieses Problem ist darauf zurückzuführen, dass der private Schlüssel im Zertifikat in Ihrem Profil nicht mit dem in Ihrem Schlüsselbund übereinstimmt. Ich löse das durch
Gleiche Antwort mit Code-Signatur-Problem in Xcode Version 8 .