Xcode "Der private Schlüssel für ist nicht auf diesem Mac installiert - verteilen"

99

Ich erhalte diese Nachricht immer, wenn ich versuche, meine App an den App Store zu senden.

Hier ist ein Bild der Nachricht:

Bild

Es wäre großartig, wenn mir jemand helfen könnte, dieses Problem zu lösen, damit ich meine App an den Store senden kann.

Fabian Boulegue
quelle

Antworten:

90

Führen Sie die folgenden Schritte aus:

  1. Widerrufen Sie Ihr vorhandenes iOS-Verteilungszertifikat von der iOS-Entwickler-Website.
  2. Generieren Sie ein neues iOS-Verteilungszertifikat, indem Sie zu XCode-Einstellungen-> Konten-> Details anzeigen gehen und dann auf das + unter der Liste der Signaturidentitäten klicken.
  3. Kehren Sie zur Entwickler-Website zurück und stellen Sie sicher, dass alle Ihre Bereitstellungsprofile mit dem neuen Zertifikat konfiguriert sind. (Sie sollten alle als aktiv aufgeführt sein, wenn Sie fertig sind.)
  4. Kehren Sie zu XCode zurück und aktualisieren Sie Ihre Liste der Bereitstellungsprofile.

Ich hatte das gleiche Problem wie Sie und dies löste es ganz gut.

Ben Visness
quelle
Vielen Dank, Ihre Lösung rettet meinen Tag (ich habe Apple ab 4 Stunden verflucht).
JJ86
Ich habe das gleiche Problem und die oben vorgeschlagenen Schritte beheben es, aber ich stoße gerade auf ein anderes, während ich die App validiere. "Das Bundle ist ungültig. Neue Apps und an den App Store gesendete Updates müssen öffentlich sein." Kann mir jemand helfen? Dies?
Maystro
Viele Leute haben diese Frage bereits gestellt: stackoverflow.com/…
Ben Visness
@ Fabian Boulegue Ich denke, die Stimmen zeigen, dass dies die beste Antwort ist. Wenn Sie dies als akzeptiert markieren könnten, wäre das großartig :)
Ben Visness
Dies sollte als Antwort markiert werden. Es funktioniert wie ein Zauber
Fledermauspistole
50

Dies löste es für mich, ohne von vorne zu beginnen:
1. Öffnen Sie den Schlüsselbundzugriff auf dem Computer, auf dem die privaten Schlüssel generiert wurden.
2. Wählen Sie auf der linken Seite Schlüsselanhänger- > Anmelden und Kategorie-> Zertifikate.
3. Suchen Sie die zwei Zertifikate iPhone-Entwickler: [Ihr Entwicklername] und iPhone Distribution: [Ihr Entwicklername]
4. Wählen Sie beide aus, klicken Sie mit der rechten Maustaste und wählen Sie 2 Elemente
exportieren ... 5. Geben Sie ein Passwort Ihrer Wahl ein, speichern Sie es auf der Festplatte und erhalten Sie die .p12 -Datei auf den anderen Computer übertragen, der nicht signiert
6. Öffnen Sie die Datei, geben Sie das Kennwort ein und Sie sollten bereit sein .

kentrh
quelle
8
Was passiert, wenn ich keinen Zugriff mehr auf den Computer habe, auf dem die privaten Schlüssel generiert wurden?
Aaronsnoswell
2
@aaronsnoswell Sie müssen neue Schlüssel für die Maschine generieren, an der Sie gerade arbeiten
Nik
Dann müssen Sie eine neue generieren.
HelloWorld
Nachdem ich den privaten Schlüssel in meinen Schlüsselbund importiert hatte, funktionierte er bei mir immer noch nicht. Ein einfacher Neustart hat es jedoch geschafft ...;)
fredpi
7. Starten Sie den Computer neu. Scheint, als hätte es den neuen privaten Schlüssel im Schlüsselbund nicht gesehen, es sei denn, ich habe neu gestartet. Ich nehme an, das liegt daran, dass Sie es dem Anmeldeschlüsselbund hinzufügen, der beim Anmelden geladen werden muss.
TenaciousJay
15

Ein ähnliches Problem zu haben, nachdem ich mehrere Tage lang getestet, überprüft, repariert und so weiter versucht hatte, war für mich einfach:

  1. Öffnen Sie die Einstellungen von Xcode (Kontenfenster).
  2. Klicken Sie auf "Zertifikate verwalten".
  3. Fügen Sie ein neues Zertifikat hinzu.

Dann fing alles wieder an zu arbeiten.

Geben Sie hier die Bildbeschreibung ein

Stichwort
quelle
12

Ich habe dies auch erlebt und den Prozess 4 Stunden lang gekämpft. Schließlich habe ich folgendes getan

  1. Alle privaten und öffentlichen Schlüssel und Zertifizierungen in meinem Schlüsselbundzugriff gelöscht
  2. Alle Bereitstellungsprofile gelöscht
  3. Alle AppIDs gelöscht - (Wahrscheinlich nicht; ich musste dies nicht tun, da ich eine saubere Tafel wollte)
  4. Meine Zertifizierungen auf der Developer.Apple-Site wurden gelöscht
  5. Neues Wildcard-Entwicklungsprofil erstellt
  6. Neues Profil SPEZIFISCH für die App erstellt, die ich bereitgestellt habe (also hatte es den App-Namen anstelle von * in der AppID)
  7. Erstellt ein neues Entwicklungszertifikat von der Website.
  8. Das Zwischenzertifikat (Worldwide Developer Relations Certificate Authority) wurde heruntergeladen, da ich es auch von meinem Schlüsselbund gelöscht habe
  9. Erstellt die CSR (Certification Signing Request) und befolgt die Anweisungen im Brief, um sie meinem Schlüsselbundzugriff hinzuzufügen. und CSR hochgeladen.
  10. Nachdem die Zertifizierung hinzugefügt wurde, stellte ich sicher, dass die öffentlichen und privaten Schlüssel umbenannt wurden, und fügte dem Infobox Kommentare hinzu, damit ich mich daran erinnern konnte, was ich getan habe.
  11. Erstellt ein neues Distributionszertifikat, indem die Schritte 7, 9, 10 für die Distribution wiederholt werden, damit ich es in den App Store bringen kann.

Hoffentlich hilft dies jemandem zu wissen, dass Sie alles auslöschen und von vorne anfangen können. Ich habe alle Zertifikate auf ein olf Macbook Pro geladen, das letzte Woche abblätterte. Also habe ich letzte Woche einen neuen Mac Air bekommen, aber ich konnte mich nicht erinnern, welche Schlüssel ich hatte, und ich erinnerte mich sicherlich nicht daran, dass ich zwei private und öffentliche Sätze für die Entwicklung und einen für die Distribution hatte. (Wenn Sie mehr als 1 Distribution haben, hätten Sie wahrscheinlich zusätzliche Sets.)

Steve

SESPROUL
quelle
Ich erinnere mich, dass ich dies in XCode 4 erfolgreich durchlaufen habe. Wissen Sie, wie Sie alle Bereitstellungsprofile (Schritt 2) in XCode 5 entfernen können?
Danny
1
Bevor jemand die Schritte 1 bis 4 "Löschen" durchläuft, ist es ratsam, das Zertifikat über KeychainAccess zu exportieren, wie in einem der folgenden Kommentare beschrieben, und es dann auf Ihren Zielcomputer zu importieren.
Andrewz
4
Was für eine Lösung. Soll ich auch einen neuen Laptop kaufen?
Bruchlinie
5

Ich bin auf dasselbe Problem gestoßen und nachdem ich Apple beschimpft hatte, wurde mir klar, dass es meine Schuld war.

1.- Go to developer.apple.com / Certificates / Production
2.- Download your certificate

Dies funktionierte für mich, danke, nachdem ich andere Antworten ausprobiert hatte.

Alex Nolasco
quelle
Zertifikat heruntergeladen und zum Schlüsselbundzugriff hinzugefügt. Aber nicht funktionieren.
Famfamfam
4

Es lohnt sich, den Schlüsselbundzugriff zu überprüfen, um sicherzustellen, dass Sie nicht mehrere Schlüssel mit demselben Namen haben. Sehr oft, wenn ich auf Probleme mit der Codesignatur gestoßen bin, bestand die schnellste Lösung darin, den Prozess von vorne zu beginnen (neue Schlüsselpaare, Zertifikate und Bereitstellungsprofile zu erstellen).

Viel Glück!

Fluffhead
quelle
4

Gehen Sie zu Einstellungen -> Konten -> Wählen Sie die von Ihnen verwendete Apple ID aus -> klicken Sie auf die Schaltfläche "Details anzeigen ..." -> klicken Sie dann auf die Plus-Schaltfläche und wählen Sie die Schaltfläche "iOS-Verteilung". Weitere Details hier .

ThomasW
quelle
3

Es scheint, dass Sie so weit gekommen sind, ein Verteilungszertifikat zu generieren, also müssen Sie irgendwann ein Schlüsselpaar generiert haben. Entwickeln Sie auf mehreren Maschinen? Exportieren Sie das Entwicklerprofil von dem Computer, auf dem es vorhanden ist, und importieren Sie es in diesen Computer.

Jim
quelle
Ich glaube, Sie können es auch von der Prov herunterladen. Portal
El Guapo
Normalerweise entwickle ich nur von diesem Computer aus ... nun, ich habe auch mein Entwickler- und Distributor-Zertifikat, vielleicht ist es etwas anderes? Genau wie Info hier ist ein Screenshot meines Profils ... dl.dropbox.com/u/659484/pic%202.png
Fabian Boulegue
6
Nein, Sie können den privaten Schlüssel nicht vom Bereitstellungsportal herunterladen. Es ist privat. Sie geben es nicht an Apple weiter.
Jim
2
Das Zertifikat ist eine von Apple bereitgestellte Datei mit der Aufschrift "Ja, dieser private Schlüssel ist von Apple genehmigt". Der Schlüssel selbst ist separat. Sie haben den Schlüssel nicht auf diesem Computer, andernfalls befindet sich daneben ein Offenlegungspfeil. Sie müssen diesen Schlüssel irgendwann gehabt haben, damit das Zertifikat existiert. Wenn Sie keine anderen Computer verwenden und diese nicht auf einem anderen Konto auf Ihrem Computer installiert haben, müssen Sie sie gelöscht haben.
Jim
2
Wenn Sie den privaten Schlüssel nicht haben und ihn nicht aus einer Sicherung wiederherstellen können, müssen Sie ein neues Schlüsselpaar generieren, eine CSR dafür generieren, die CSR auf Apple hochladen und das neue Zertifikat herunterladen, das Apple als Antwort generiert Erstellen Sie ein neues Distributionsbereitstellungsprofil und verwenden Sie dieses Profil, um Ihre Anwendung zu erstellen. Befolgen Sie grundsätzlich die Anweisungen, die Apple Ihnen zu Beginn gegeben hat.
Jim
2

Melden Sie sich einfach bei dem Benutzerkonto an (möglicherweise auf einem anderen Mac), mit dem das Verteilungszertifikat erstellt wurde. Öffnen Sie den Schlüsselbundzugriff und exportieren Sie den privaten Schlüssel. Installieren Sie es dann auf Ihrem Schlüsselbund.

Atul Manwar
quelle
2

Mein Problem war, dass Xcode nicht in der Zugriffssteuerungsliste für den privaten Schlüssel enthalten war. Sie können dies im Schlüsselbundzugriff beheben, ohne ein neues Schlüsselpaar zu generieren.

Öffnen Sie den Schlüsselbundzugriff. Wählen Sie auf der linken Seite Login und Meine Zertifikate. Wählen Sie Ihr Verteilungszertifikat aus und doppelklicken Sie auf Ihren privaten Schlüssel. Wählen Sie die Zugriffskontrolle und fügen Sie Xcode zur Liste hinzu, falls dieser nicht vorhanden ist.

Starten Sie Xcode neu und erstellen Sie ein neues Archiv. Es sollte jetzt den privaten Schlüssel finden.

zprag
quelle
1

Ich habe xCode gerade geschlossen und wieder geöffnet und dann war alles wieder normal.

Ser Pounce
quelle
0

Ich habe die Lösung:

Ihr Unternehmen verfügt über ein Unternehmen (Enterprise Distribution) .pem und ein CompanyEnterpriseDistribution.p12. Sie müssen diese ebenfalls installieren.

Sam
quelle
0

Ich habe ein Firmenkonto bei Apple. Ich habe das Problem gelöst durch:

1) auf der Entwickler-Website Zertifikate, Kennungen und Profile
2) unter Bereitstellungsprofile -> Entwicklung
3) ging zu meiner Entwicklung Bereitstellung -> Bearbeiten
4) dann herunterladen und doppelklicken.

Der Tank
quelle
0

Versuche dies..

  • Wählen Sie in Ihren "Systemeinstellungen" "Sicherheit und Datenschutz".

  • Klicken Sie unten links auf das Symbol "Sperren".

  • Ändern Sie "Apps von" überall herunterladen "in" Mac App Store und identifizierte Entwickler ".

-Dann versuchen zu bauen.

hmdeep
quelle
0

Wenn Sie nach einiger Zeit versuchen, eine App zu aktualisieren, müssen Sie Ihr Porvisioning-Profil im Apple Development Center erneuern und dann einfach zu Zertifikate auf der linken Seite Ihres Apple Development Centers gehen, das Distributionszertifikat herunterladen und es öffnen .

Xcode erledigt den Rest und lässt Sie die App ausführen.

Prost!

V1 Technologies
quelle
0

Für mich ist es so, dass ich mein Produktionszertifikat nicht installiert habe. (Ich habe bereits ein Entwicklungszertifikat installiert, das)

Nachdem ich das Produktionszertifikat heruntergeladen und an der Schlüsselkette installiert hatte, funktionierte es für mich.

Sahan Maldeniya
quelle
0

Dies löste es für mich, ohne von vorne zu beginnen:

  1. Generieren Sie die Datei "CertificateSigningRequest.certSigningRequest" von einem anderen MacBook erneut.
  2. Zertifikate neu generieren " * Grid Information Technology Co., Ltd"
  3. Bereitstellungsprofile neu generieren
tinkl
quelle
0

Ich erstelle und verteile Entwicklungs-IPAs für meine Beta-iOS-App. Ich musste wiederholt neue Geräte zur Liste der zulässigen Geräte hinzufügen und hatte dadurch viele Probleme. Dieses Mal dokumentiere und teile ich ein solches Problem und die Lösung ...

Ich habe meiner Liste im Entwicklercenter eine neue udid hinzugefügt, ein Archiv erstellt und festgestellt, dass die IPA nicht in dem in die IPA eingebetteten Profil gefunden wurde. Daher habe ich meine Bereitstellungsprofile in XCode aktualisiert (um eine aktualisierte Liste zu erhalten), und dieser Fehler wurde durch das Fehlen des privaten Schlüssels verursacht (wie am Anfang dieses Threads dargestellt).

Ich konnte dann kein weiteres Archiv erstellen. Außerdem wurden beim Versuch, das Projekt zu erstellen, Codesignaturfehler verursacht.

Nach viel Schmerz habe ich es so behoben:

Gehen Sie in XCode zu Einstellungen ... Registerkarte Konto. Klicken Sie auf die Schaltfläche Hinzufügen (Mitte links) und wählen Sie "iOS-Entwicklung". Dadurch wird eine neue Signaturidentität erstellt.

Sie sollten jetzt in der Lage sein, das neue Bereitstellungsprofil zum Erstellen des Archivs zu verwenden.

Außerdem sollten die Erstellungsfehler behoben werden. Wählen Sie im Projekt auf der Registerkarte "Allgemein" das "Team" aus und wiederholen Sie den Build. Möglicherweise gibt es einige zusätzliche Berechtigungsdialoge. Klicken Sie auf "Fix" oder "Immer zulassen", wenn Sie dazu aufgefordert werden.

Hinweis: Das Mitgliedercenter und die Liste der Schlüsselketten werden zu einem Durcheinander mit Duplikaten zum Signieren von IDs, aber zumindest funktioniert alles. Vielleicht möchten Sie versuchen, es aufzuräumen ...

BuvinJ
quelle
0

Ich habe ein neues Verteilungszertifikat erstellt, dann mein vorhandenes Bereitstellungsprofil so bearbeitet, dass es auf dieses neue Zertifikat verweist, und dann unter Xcode> Einstellungen> Konto> Details anzeigen meine Signaturzertifikate aktualisiert.

Lief wie am Schnürchen

Ajbraus
quelle
0

Ich habe eine andere Antwort (zusätzlich zu meinem vorherigen Beitrag). Heute ist mein privater Schlüssel abgelaufen (wie ich bei KeyChain Access festgestellt habe), und ein neuer war in der Liste enthalten. Wie? Idk ... Vielleicht wurde durch die Verwendung der XCode-Schaltfläche "Problem beheben", die mir angezeigt wurde, oder durch Abrufen eines Updates für die Bereitstellung von Profilen, wie in meinem anderen Beitrag beschrieben, automatisch ein neues erstellt? ...

Wie auch immer, ich habe mich im Development Center angemeldet, das Bereitstellungsprofil gefunden, das ich verwenden wollte, und auf "Bearbeiten" geklickt. Ich konnte dann "Zertifikate" auswählen. Ich fand, dass der gewünschte nicht ausgewählt wurde. Ich habe es ausgewählt und auf "Generieren" geklickt, um das Bereitstellungsprofil neu zu erstellen. Dann konnte ich es herunterladen. Ich habe die Datei auf mein XCode-Dock-Symbol gezogen und dort abgelegt. Das hat es behoben!

BuvinJ
quelle
-2

Dies geschieht, weil Sie Ihren Mac formatiert und neu installiert haben oder aus einem neuen Mac entwickeln.

Wenn Sie dies nicht tun können und Ihr altes Zertifikat und Ihre Profile vom alten Mac exportieren lassen

Sie müssen die Platzhalter-Bereitstellungsprofile aus dem Apple Developer Center entfernen, und aus Zertifikaten müssen Sie die alten nur die allgemeinen Entwicklungs- und Produktionszertifikate entfernen.

Dann müssen Sie neue erstellen und neue Bereitstellungsprofile für die App erstellen, die Sie auf Apple hochladen müssen.

Sie müssen vorerst nicht alle Provisiong-Profile löschen, aber Sie müssen auf jeden Fall neue Profile für Apps erstellen, die Sie nicht dafür erstellen.

Albaiti
quelle