Erreur Xcode 7: «Identité de signature de distribution iOS manquante pour…»

837

J'ai essayé de télécharger mon application sur iTunes Connect resp. AppStore et a obtenu l'erreur suivante:

Impossible de localiser ou de générer des éléments de signature correspondants

Xcode a tenté de localiser ou de générer des ressources de signature correspondantes et n'a pas réussi à le faire en raison des problèmes suivants.

Identité de signature de distribution iOS manquante pour ... Xcode peut en demander une pour vous.

Avant de configurer une nouvelle machine de développement, exportez les comptes de développeur via Xcode 7 de l'ancienne vers la nouvelle machine.

Que puis-je faire pour résoudre ce problème?

Awsed
la source
Vous devez également avoir un profil de distribution et des certificats ainsi que ses clés afin de générer l'IPA (même avec le profil de développement)
Bhumit Mehta
1
Avec le nouveau compte d'importation du développeur Xcode 7, les profils et certificats sont également exportés. Dans mon cas, je devais également transférer le certificat "Apple World Wide Developer Relations Certificate Authority" (voir la réponse ci-dessous)
Awsed
1
@Awsed, vous pouvez trouver le processus détaillé pour les certificats et le profil dans la documentation Apple . Ce serait utile.
Dipen Panchasara

Réponses:

1949

D'Apple -

Merci d'avoir porté cela à l'attention de la communauté et excuses pour les problèmes que vous avez rencontrés. Ce problème provient de la présence d'une copie du certificat intermédiaire WWDR expiré dans vos trousseaux système et de connexion. Pour résoudre le problème, vous devez d'abord télécharger et installer le nouveau certificat intermédiaire WWDR (en double-cliquant sur le fichier). Ensuite, dans l'application Keychain Access, sélectionnez le trousseau système. Assurez-vous de sélectionner «Afficher les certificats expirés» dans le menu Affichage, puis supprimez la version expirée du certificat intermédiaire de l'Autorité mondiale de certification des relations avec les développeurs Apple (expiré le 14 février 2016). Vos certificats devraient maintenant apparaître comme valides dans Keychain Access et être disponibles pour Xcode pour les soumissions à l'App Store.

Comme indiqué dans un commentaire ci-dessous, le certificat expiré doit également être supprimé de la loginsection:

Pour tous ceux qui ne peuvent pas le faire fonctionner malgré les instructions ... Il y a deux certificats WWDR expirés. L'un est dans le trousseau de connexion et l'autre dans le système. Vous devez les supprimer tous les deux pour que les choses fonctionnent

Rajat Talwar
la source
63
Je pense que c'était la meilleure réponse car elle comprenait des instructions sur la suppression du certificat expiré. Toute cette question est cray cray.
Chad Pavliska
12
Cela s'est produit tous les deux ans; de nombreuses applications cessent de fonctionner sur Mac jusqu'à ce que l'utilisateur redémarre son Mac. Bien sûr, ils vous blâmeront. Au moins, le nouveau certificat n'expire pas avant 2023.
Tibidabo
4
Merci mon ami! Si cela ne fonctionne pas: êtes-vous sûr d'avoir ajouté le nouveau? J'ai dû redémarrer mon Mac et le télécharger à nouveau car mon Mac ne voulait pas l'ajouter. (Je le savais parce qu'on ne m'a pas demandé d'entrer mon mot de passe ...)
Godlike
131
Pour tous ceux qui ne peuvent pas le faire fonctionner malgré les instructions ... Il y a deux certificats WWDR expirés. L'un est dans le trousseau de connexion et l'autre dans le système. Vous devez les supprimer tous les deux pour que les choses fonctionnent.
Aleks
3
Assurez-vous que lorsque vous accédez à "Accès au trousseau", vous accédez à Trousseaux> Système et supprimez également les anciens certificats. Mes identités de signature ont toutes été révoquées jusqu'à ce que je fasse cela.
wowzuzz
562

J'ai également fait face au même problème aujourd'hui. Les étapes suivantes ont résolu mon problème.

  1. Téléchargez https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. Double-cliquez pour installer sur le trousseau.
  3. Ensuite, dans le trousseau, sélectionnez Affichage -> "Afficher les certificats expirés" dans l'application Trousseau.
  4. Il répertorie tous les certificats expirés.
  5. Supprimer "Certificats de l'Autorité de certification des relations avec les développeurs Apple dans le monde" de l'onglet "Connexion"
  6. Et supprimez-le également de l'onglet "Système".

Maintenant, vous êtes prêt.

Avaan
la source
62
"6. Et supprimez-le également de l'onglet" Système "." étape est résolu mon problème. C'est la bonne réponse !!!
EFE
4
Moi aussi! J'ai corrigé en le supprimant de l'onglet "Système". "Étape
Edward Chiang
1
Je suis en train de suivre ces étapes, y compris de le supprimer du système, mais chaque fois que j'ouvre le générateur d'extensions (développeur safari), l'ancien certificat expiré réapparaît. Des idées?
Andre
3
Le problème ci-dessus a été résolu en suivant cette étape "Si votre certificat n'est pas disponible dans Safari Extension Builder, mettez à jour votre système de signature vers OS X El Capitan v10.11.4 beta" sur la page suivante: expiration du certificat
Andre
pour ceux qui veulent savoir où trouver les certificats: Apple certifié
Jorge Casariego
41

J'ai continué à rencontrer le problème et j'ai vu que tous mes certificats avaient été invalidés - oh non!

Il s'avère que je n'ai jamais supprimé le certificat expiré. Il ne se présentait pas pour moi, jusqu'à ce que je sélectionne à partir de l'application Keychain Access:

Affichage-> Afficher les certificats expirés

puis

Système-> Tous les articles

affichera enfin ce cert expiré noueux. Supprimez cela et réessayez de XCode récupérera les nouveaux certificats valides.

Assurez-vous simplement de rechercher «Tous les articles» dans l'application Keychain Access. Les certificats invalides résultent du fait de pointer vers le certificat expiré qui n'a pas encore été supprimé.

Ziad Elkurjie
la source
L'affichage des certificats expirés puis la suppression du système ont résolu ce problème pour moi.
Jules
33

Le processus ci-dessous résoudra le problème,

1: Ouvrez l'accès à KeyChain et supprimez «Apple World Wide Developer Relations Certification Authority» (qui expire le 14 février 2016) des sections «Connexion» et «Système». Si vous ne le trouvez pas, utilisez «Afficher les certificats expirés» dans le menu «Affichage».

entrez la description de l'image ici

2: Téléchargez maintenant https://developer.apple.com/certificationauthority/AppleWWDRCA.cer et double-cliquez sur le certificat pour l'ajouter à l'accès au trousseau> certificats (qui expire le 8 février 2023). Le statut valide des certificats doit maintenant devenir vert comme ci-dessous.

entrez la description de l'image ici

Une fois vérifier l'état.

Teja Kumar Bethina
la source
2
Merci! "Si vous ne le trouvez pas, utilisez" Afficher les certificats expirés "dans le menu" Affichage "." m'a beaucoup aidé!
SDW
pourquoi y a-t-il une coupure de l'ongle dans cette capture d'écran?
FlavorScape
21

Apple a apporté les modifications suivantes, alors téléchargez le nouveau certificat developer.apple.com

certificat renouvelé et placez-le comme ci-dessous les captures d'écran.Dans le trousseau comme ci-dessous les captures d'écran, cliquez sur le système, puis sur le certificat. Supprimez le certificat expiré. Ensuite, faites glisser et déposez le AppleWWDRCA.cer que vous avez téléchargé à partir du lien ci-dessus

Expiration intermédiaire du certificat Apple Worldwide Developer Relations

Pour aider à protéger les clients et les développeurs, nous exigeons que toutes les applications tierces, les passes pour le portefeuille Apple, les extensions Safari, les notifications push Safari et les reçus d'achat App Store soient signés par une autorité de certification de confiance. L'Autorité mondiale de certification des relations avec les développeurs Apple émet les certificats que vous utilisez pour signer votre logiciel pour les appareils Apple, permettant à nos systèmes de confirmer que votre logiciel est livré aux utilisateurs comme prévu et n'a pas été modifié.

Le certificat intermédiaire Apple Worldwide Developer Relations Certification expire bientôt et nous avons émis un certificat renouvelé qui doit être inclus lors de la signature de tous les nouveaux pass Apple Wallet, des packages push pour les notifications push Safari et des extensions Safari à partir du 14 février 2016.

Bien que la plupart des développeurs et des utilisateurs ne soient pas affectés par la modification du certificat, nous recommandons à tous les développeurs de télécharger et d'installer le certificat renouvelé sur leurs systèmes et serveurs de développement comme meilleure pratique. Toutes les applications resteront disponibles sur l'App Store pour iOS, Mac et Apple TV.

Étant donné que différentes méthodes peuvent être utilisées pour valider les reçus et envoyer des notifications à distance, nous vous recommandons de tester vos services pour vous assurer qu'aucun problème spécifique à l'implémentation n'existe. Vos applications peuvent rencontrer un échec de vérification de réception si le code de vérification de réception émet des hypothèses incorrectes sur le certificat. Assurez-vous que votre code est conforme au Guide de programmation de la validation des reçus et résolvez tous les problèmes de validation des reçus avant le 14 février 2016.

entrez la description de l'image ici

Nischal Hada
la source
12

Après avoir cherché pendant un certain temps, j'ai découvert qu'il ne suffit pas d'exporter les comptes de développeur à partir de Xcode et de les importer sur la nouvelle machine, à nouveau via Xcode.

De plus, je devais copier le certificat nommé " Apple World Wide Developer Relations Certificate Authority " du trousseau de l'ancienne machine de développement vers le trousseau de la nouvelle.

Cela a résolu le problème pour moi.

Awsed
la source
10
Vous pouvez l'installer en utilisant ce lien: developer.apple.com/certificationauthority/AppleWWDRCA.cer
ERU
12

J'ai importé le nouveau certificat Apple WWDR qui expire en 2023, mais je rencontrais toujours des problèmes et mes certificats de développeur affichaient l'erreur d'émetteur non valide.

Dans l'accès au trousseau, accédez à Affichage -> Afficher les certificats expirés, puis dans votre trousseau de connexion, mettez en surbrillance le certificat WWDR expiré et supprimez-le. J'avais également le même certificat expiré dans mon trousseau système, donc je l'ai supprimé de là aussi. (Important)

Après avoir supprimé le certificat expiré de la connexion et des trousseaux système, j'ai pu reconstruire pour la distribution.

Ashish Thakkar
la source
4

J'ai supprimé l'ancien AppleWWDRCA, téléchargé et installé AppleWWDRCA , mais le problème est resté. J'ai également vérifié mes certificats de distribution et de développement à partir de Keychain Access et je vois l'erreur ci-dessous;

"This certificate has an invalid issuer."

Alors,

  1. J'ai révoqué les certificats de développement et de distribution sur le centre des membres.
  2. Fichier CSR recréé et ajout de certificats de développement et de distribution à partir de zéro, téléchargés et installés.

Ce problème de certificat fixe.

Depuis la révocation des anciens certificats, les profils de provisionnement existants deviennent invalides. Pour résoudre ce problème;

  1. Sur le centre des membres, ouverture des profils d'approvisionnement.
  2. Ouvrez les détails du profil en cliquant sur "Modifier", vérifiez le certificat dans la liste et cliquez sur le bouton "Générer".
  3. Téléchargement et installation des profils de développement et de distribution.

J'espère que ça aide.

Berk
la source
1

Assurez-vous que dans Project Navigator> Signature> Équipe, un nom d'équipe doit être sélectionné.

entrez la description de l'image ici

Garg Ankit
la source