Xcode "La clé privée de n'est pas installée sur ce mac - distribution"

99

Je reçois toujours ce message lorsque j'essaye de soumettre mon application à l'App Store.

Voici une image du message:

image

Ce serait formidable si quelqu'un pouvait m'aider à résoudre ce problème afin que je puisse soumettre mon application au magasin.

Fabian Boulegue
la source

Réponses:

90

Essayez de suivre ces étapes:

  1. Révoquez votre certificat de distribution iOS existant sur le site Web des développeurs iOS.
  2. Générez un nouveau certificat de distribution iOS en allant dans Préférences XCode-> Comptes-> Afficher les détails, puis en cliquant sur le + sous la liste des identités de signature.
  3. Revenez sur le site Web du développeur et assurez-vous que tous vos profils d'approvisionnement sont configurés avec le nouveau certificat. (Ils devraient tous être répertoriés comme actifs lorsque vous avez terminé.)
  4. Revenez à XCode et actualisez votre liste de profils d'approvisionnement.

J'ai eu le même problème que vous et cela l'a très bien résolu.

Ben Visness
la source
Merci, votre solution sauve ma journée (je maudissais Apple depuis 4 heures).
JJ86
Je rencontre le même problème et les étapes proposées ci-dessus le résolvent, mais j'en rencontre un autre en ce moment lors de la validation de l'application "le bundle est invalide les nouvelles applications et les mises à jour soumises à l'App Store doivent être publiques" quelqu'un peut-il aider ce?
Maystro
Beaucoup de gens ont déjà posé cette question: stackoverflow.com/...
Ben Visness
@Fabian Boulegue Je pense que les votes indiquent que c'est la meilleure réponse. Si vous pouviez marquer cela comme accepté, ce serait génial :)
Ben Visness
Cela devrait être marqué comme réponse. Ça marche comme un charme
batgun
50

Cela m'a résolu le problème sans recommencer à zéro:
1. Ouvrez Keychain Access sur la machine qui a été utilisée pour générer les clés privées
2. Sélectionnez Keychains-> Login and Category-> Certificates sur le côté gauche
3. Localisez le deux certificats iPhone Developer: [votre nom de développeur] et iPhone Distribution: [votre nom de développeur]
4. Sélectionnez les deux, faites un clic droit et choisissez Exporter 2 éléments ...
5. Entrez le mot de passe de votre choix, enregistrez sur le disque et obtenez le .p12 -filez sur l'autre machine qui ne signera pas
6. Ouvrez le fichier, entrez le mot de passe et vous devriez être prêt à partir.

kentrh
la source
8
Que faire si je n'ai plus accès à la machine qui a généré les clés privées?
aaronsnoswell
2
@aaronsnoswell Vous devez générer de nouvelles clés pour la machine sur laquelle vous travaillez actuellement
Nik
Ensuite, vous devez en générer un nouveau.
HelloWorld
Après avoir importé la clé privée dans mon trousseau, cela ne fonctionnait toujours pas pour moi. Cependant, un simple redémarrage l'a fait fonctionner ...;)
fredpi
7. Redémarrez la machine. On dirait qu'il n'a pas vu la nouvelle clé privée dans le trousseau à moins que je ne redémarre. Je suppose que c'est parce que vous l'ajoutez au trousseau de connexion qui doit se charger lors de la connexion?
TenaciousJay
15

Ayant un problème similaire, après plusieurs jours de tests, de vérifications, d'essais de réparation et ainsi de suite, ce qui a fonctionné pour moi était simplement:

  1. Ouvrez les préférences de Xcode (panneau Comptes)
  2. Cliquez sur "Gérer les certificats".
  3. Ajoutez un nouveau certificat.

Puis tout a recommencé à fonctionner.

entrez la description de l'image ici

Signal
la source
12

J'ai également vécu cela et j'ai combattu le processus pendant 4 heures. enfin j'ai fait ce qui suit

  1. Supprimé toutes les clés et certifications privées et publiques dans mon accès au trousseau
  2. Suppression de tous les profils de provisioning
  3. Supprimé tous les AppID - (probablement pas besoin de le faire par je voulais une table rase)
  4. J'ai supprimé mes certifications sur le site Developer.Apple
  5. Création d'un nouveau profil de développement Wildcard
  6. Création d'un nouveau profil SPÉCIFIQUE à l'application que je déployais (il avait donc le nom de l'application au lieu de *, dans l'AppID)
  7. Création d'un nouveau certificat de développement à partir du site Web.
  8. J'ai téléchargé le certificat intermédiaire (Worldwide Developer Relations Certificate Authority) depuis que je l'ai également effacé de mon trousseau
  9. Création de la demande de signature de certification (CSR), suivi des instructions à la lettre pour l'ajouter à mon accès au trousseau. et a téléchargé le CSR.
  10. Une fois la certification ajoutée, je me suis assuré de renommer les clés publique et privée, et j'ai ajouté des commentaires à la boîte d'informations - pour que je puisse me souvenir de ce que j'ai fait.
  11. J'ai créé un nouveau certificat de distribution en répétant les étapes 7, 9 et 10 pour la distribution afin que je puisse l'avoir sur l'App Store.

J'espère que cela aidera quelqu'un à savoir que vous pouvez tout effacer et recommencer. J'ai chargé tous les certificats sur un olf Macbook Pro qui a commencé à s'effriter la semaine dernière. J'ai donc eu un nouveau Mac Air la semaine dernière, mais je ne me souviens pas de quelles clés, et je ne me souvenais certainement pas que j'avais 2 ensembles de clés privées et publiques pour le développement et 1 pour la distribution. (Si vous avez plus d'une distribution, je pense que vous auriez des ensembles supplémentaires.)

Steve

SESPROUL
la source
Je me souviens avoir traversé cela avec succès dans XCode 4. Savez-vous comment supprimer tous les profils d'approvisionnement (étape 2) dans XCode 5?
Danny
1
Avant que quiconque passe par les étapes 1 à 4 de «suppression», il serait conseillé d'essayer d'exporter le certificat via KeychainAccess comme indiqué dans l'un des commentaires ci-dessous, puis de les importer sur votre machine cible.
andrewz
4
Quelle solution. Dois-je aussi acheter un nouvel ordinateur portable?
breakline
5

Ran dans le même problème et après avoir insulté Apple, j'ai réalisé que c'était ma faute.

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

Cela a fonctionné pour moi merci après avoir essayé d'autres réponses.

Alex Nolasco
la source
certificat téléchargé et ajouté à l'accès au trousseau. Mais ne fonctionne pas.
famfamfam
4

Il vaut la peine de vérifier l'accès au trousseau pour vous assurer que vous n'avez pas plusieurs clés avec le même nom. De plus, très souvent, lorsque j'ai rencontré des problèmes de signature de code, la solution Fastes a été de recommencer le processus (créer de nouvelles paires de clés, certificats et profils d'approvisionnement).

Bonne chance!

Fluffhead
la source
4

Allez dans Préférences -> Comptes -> Sélectionnez l'identifiant Apple que vous utilisez -> cliquez sur le bouton "Afficher les détails…" -> puis cliquez sur le bouton plus et sélectionnez le bouton "Distribution iOS". Plus de détails ici .

ThomasW
la source
3

Il semble que vous ayez réussi à générer un certificat de distribution, vous devez donc avoir généré une paire de clés à un moment donné. Développez-vous sur plusieurs machines? Exportez le profil de développeur à partir de la machine qui le possède et importez-le dans cette machine.

Jim
la source
Je crois que vous pouvez également le télécharger à partir de la prov. portal
El Guapo
Eh bien, normalement, je développe juste à partir de cet ordinateur ... eh bien j'ai aussi mon certificat de développeur et de distributeur peut-être que c'est autre chose? Tout comme info voici une capture d'écran de mon profil ... dl.dropbox.com/u/659484/pic%202.png
Fabian Boulegue
6
Non, vous ne pouvez pas télécharger la clé privée à partir du portail d'approvisionnement. C'est privé. Vous ne le donnez pas à Apple.
Jim
2
Le certificat est un fichier fourni par Apple qui dit "Oui, cette clé privée est approuvée par Apple". La clé elle-même est séparée. Vous n'avez pas la clé sur cet ordinateur, sinon il y aurait une flèche de divulgation à côté. Vous devez avoir eu cette clé à un moment donné pour que le certificat existe. Si vous n'utilisez pas d'autres ordinateurs et que vous ne l'avez pas installé sur un autre compte sur votre ordinateur, vous devez l'avoir supprimé.
Jim
2
Si vous n'avez pas la clé privée et que vous ne pouvez pas la restaurer à partir d'une sauvegarde, vous devrez générer une nouvelle paire de clés, générer un CSR pour celle-ci, télécharger la CSR sur Apple, télécharger le nouveau certificat qu'Apple génère en réponse , créez un nouveau profil de provisionnement de distribution et utilisez ce profil pour créer votre application. En gros, suivez les instructions de configuration qu'Apple vous a données au début.
Jim
2

C'est simple, connectez-vous au compte de l'utilisateur (peut-être sur un Mac différent) qui a été utilisé pour créer le certificat de distribution. Ouvrez Keychain Access et exportez leur clé privée. Ensuite, installez-le sur votre trousseau.

Atul Manwar
la source
2

Mon problème était que Xcode ne figurait pas dans la liste de contrôle d'accès pour la clé privée. Vous pouvez résoudre ce problème dans l'accès au trousseau sans générer de nouvelle paire de clés.

Ouvrez l'accès au trousseau. Sur le côté gauche, sélectionnez Connexion et Mes certificats. Sélectionnez votre certificat de distribution et double-cliquez sur votre clé privée. Sélectionnez le contrôle d'accès et ajoutez Xcode à la liste s'il n'y est pas.

Redémarrez Xcode et créez une nouvelle archive. Il devrait trouver la clé privée maintenant.

zprag
la source
1

En fait, je viens de fermer et de rouvrir xCode, puis tout est revenu à la normale.

Ser Pounce
la source
0

J'ai la solution:

Votre entreprise a une société (Enterprise Distribution) .pem et CompanyEnterpriseDistribution.p12, vous devez également les installer.

Sam
la source
0

J'ai un compte d'entreprise dans Apple. J'ai résolu le problème en:

1) sur le site Web du développeur Certificats, identifiants et profils
2) sous Provisioning Profiles -> development
3) est allé à mon développement Provisioning -> edit
4) puis téléchargez et double-cliquez.

TtheTank
la source
0

Essaye ça..

  • Dans vos "Préférences système", sélectionnez "Sécurité et confidentialité".

  • Cliquez sur l'icône «Verrouiller» dans le coin inférieur gauche.

  • Remplacez "Autoriser les applications téléchargées depuis" de "Partout" par "Mac App Store et développeurs identifiés".

-Ensuite, essayez de construire.

hmdeep
la source
0

Pour ceux qui essaient de mettre à jour une application après un certain temps, vous devez renouveler votre profil Porvisioning dans le centre de développement Apple, puis allez simplement dans Certificats sur le côté gauche de votre centre de développement Apple, téléchargez le certificat de distribution et ouvrez-le. .

Xcode fera le reste et vous permettra d'exécuter l'application.

À votre santé!

Technologies V1
la source
0

Pour moi c'est que je n'ai pas installé mon certificat de production. (J'ai déjà installé un certificat de développement qui)

Après avoir téléchargé le certificat de production et installé sur le porte-clés, cela a fonctionné pour moi.

Sahan Maldeniya
la source
0

Cela a résolu le problème pour moi sans recommencer à zéro:

  1. ReGénérer le fichier "CertificateSigningRequest.certSigningRequest" par un autre macbook.
  2. ReGenerate Certificates " * Grid Information Technology Co., Ltd"
  3. ReGenerate Provisioning Profiles
tinkl
la source
0

Je construis et distribue des ipa de développement pour mon application bêta iOS. J'ai dû à plusieurs reprises ajouter de nouveaux appareils à la liste de ceux autorisés, et j'ai eu de nombreux problèmes créés par cela. Cette fois, je documente et partage un tel problème et la solution ...

J'ai ajouté un nouvel udid à ma liste dans le centre de développement, construit une archive et j'ai trouvé que l'ipa n'était pas trouvée dans le profil intégré à l'ipa. J'ai donc actualisé mes profils d'approvisionnement dans XCode (pour obtenir une liste mise à jour) et cette erreur a été causée avec la clé privée manquante (comme illustré au début de ce fil).

Je n'ai alors pas pu créer une autre archive. En outre, cela a créé des erreurs de signature de code lors de la tentative de génération du projet.

Après beaucoup de douleur, je l'ai réparé comme ceci:

Dans XCode, allez dans Préférences ... Onglet Compte. Cliquez sur le bouton Ajouter (au milieu à gauche) et sélectionnez "Développement iOS". Cela créera une nouvelle identité de signature.

Vous devriez maintenant pouvoir utiliser le nouveau profil de provisioning pour créer l'archive.

En outre, les erreurs de construction doivent être corrigées. De retour dans le projet, onglet "Général", sélectionnez "l'équipe" et réessayez la compilation. Il peut y avoir des boîtes de dialogue d'autorisations supplémentaires. Cliquez sur "réparer" ou "toujours autoriser" lorsque vous y êtes invité.

Remarque: le centre des membres et la liste de porte-clés deviendront un désordre, avec des doublons pour la signature des identifiants, mais au moins tout fonctionne. Vous voudrez peut-être essayer de le nettoyer ...

BuvinJ
la source
0

J'ai créé un nouveau certificat de distribution, puis modifié mon profil d'approvisionnement existant pour qu'il pointe vers ce nouveau certificat, puis dans Xcode> préférences> compte> afficher les détails, j'ai mis à jour mes certificats de signature.

a fonctionné comme un charme

ajbraus
la source
0

J'ai une autre réponse (en plus de mon post précédent). Aujourd'hui, ma clé privée a expiré (comme je l'ai trouvé en regardant KeyChain Access), et une nouvelle était dans la liste. Comment? Idk ... Peut-être en utilisant le bouton XCode "résoudre le problème" qui m'a été présenté, ou en tirant une mise à jour pour les profils de provisioning comme je l'ai décrit dans mon autre article, un nouveau a été créé automatiquement? ...

Quoi qu'il en soit, je me suis connecté au centre de développement, j'ai trouvé le profil d'approvisionnement que je voulais utiliser et j'ai cliqué sur "modifier". J'ai alors pu sélectionner "Certificats". J'ai trouvé que celui recherché n'était pas sélectionné. Je l'ai sélectionné et j'ai cliqué sur "générer" pour recréer le profil d'approvisionnement. Ensuite, j'ai pu le télécharger. J'ai glissé et déposé le fichier sur l'icône de mon dock XCode. Cela l'a corrigé!

BuvinJ
la source
-2

cela se produira parce que vous avez formater votre mac et le réinstaller ou que vous développez à partir d'un nouveau mac.

si vous ne pouvez pas faire ce qui précède et faites exporter votre ancien certificat et vos profils depuis l'ancien mac

vous devrez supprimer les profils de mise à disposition de caractères génériques du centre de développement Apple, ainsi que des certificats, vous devez supprimer les anciens uniquement les certificats généraux de développement et de production.

Ensuite, vous devrez en créer de nouveaux et créer de nouveaux profils d'approvisionnement pour l'application que vous devez télécharger sur Apple.

vous n'avez pas besoin de supprimer tous les profils d'approvisionnement pour le moment, mais vous devrez certainement en créer de nouveaux pour les applications que vous ne créez pas pour cela.

albaiti
la source