web-dev-qa-db-fra.com

Problème de signature de code dans Xcode version 8

J'ai mis à jour mon Xcode vers la version 8 après la publication de iOS 10. Apple a apporté quelques modifications au processus de signature de code et celui-ci est désormais disponible dans la section générale des paramètres de cible. Mais le problème est que mon profil de provisionnement de la production apparaît comme non éligible. Ce message d'erreur arrive:

"xxxproductionprovisioningprofile" n'inclut pas le certificat de signature "Distribution iPhone: xxx (xxx)".

J'ai à nouveau créé le profil d'approvisionnement avec le même certificat de distribution. Le certificat de distribution est également présent dans le trousseau. Tout fonctionnait bien dans Xcode version 7.3 et antérieure. Toute aide est appréciée. 

7
Rohitax Rajguru

J'ai aussi fait face à cela et je l'ai corrigé par:

1- retirer tous les certificats de mon compte du trousseau, 

2- supprimer tous les profils de provisioning de xcode puis 

3- télécharger à nouveau les profils d'approvisionnement via xcode et aussi 

4- Ajouter des certificats à nouveau au trousseau.

25
Husein Behboodi Rad

J’étais confronté au même problème, j’essayais également de supprimer tous les certificats de mon trousseau de connexion, mais le problème venait toujours .... ... Puis, un jour, j’ai heureusement ouvert le trousseau système et découvert qu’il y avait plusieurs certificats de distribution ajouté là.J'ai supprimé ceux de là. Et puis le problème a finalement été résolu :)

Donc, si vous rencontrez ce problème, assurez-vous de supprimer vos certificats de la connexion ainsi que du trousseau système et de les rajouter au trousseau de connexion . J'espère que cela vous aidera.

6
NoProb

Ok, si vous ne souhaitez pas supprimer tous les profils et certificats prévisionnels, ni utiliser de profils provisoires automatiques, procédez comme suit:

  1. Supprimer le profil provisoire des comptes (cmd +,), où vous pouvez voir la liste de tous les profils provisoires en fonction de votre utilisateur.

  2. Supprimer le certificat du trousseau (Connexion - Certificats - Rechercher le certificat à l'origine du conflit)

  3. À partir du panneau Développeurs (Certificats, ID et profils - Profils de provisioning), activez votre profil provisoire qui vous met en conflit avec le certificat que vous souhaitez utiliser.

  4. Téléchargez manuellement votre profil provisoire (il doit être de couleur verte dans son indicateur).

  5. Dans la section Développeurs, accédez à la section Certificats et téléchargez le certificat associé au profil provisoire que vous avez mis à jour à l'étape précédente.

  6. Double-cliquez sur le certificat que vous avez téléchargé pour l'installer et vérifiez qu'il se trouve dans le trousseau.

  7. Double-cliquez sur le profil provisoire que vous avez téléchargé.

  8. Allez dans Xcode (Projet - Cibles - Général) et dans la section intitulée "Chant (débogage ou libération)", vous pourrez voir dans Elegible le nouveau profil provisoire. 

Vous constaterez que vous devez mettre à jour les deux (certificat et profil provisoire), mais si vous en supprimez un, les autres conservent les références précédentes et Xcode ne se met pas à jour automatiquement. Je l'ai fait et cela fonctionne parfaitement. 

3
Javier Landa-Torres

J'ai fait face au même problème, je l'ai corrigé sans avoir à tout effacer et tout télécharger à nouveau. 

J'ai simplement activé la signature automatique, attendu qu'elle détecte mes certificats de signature, puis l'ai désactivée. Après cela, j'ai pu resélectionner les profils d'approvisionnement souhaités et les certificats de signature certifiés ont été détectés comme ils le devraient.

3
mgentilc

J'ai rencontré les mêmes problèmes, mais pour le résoudre, j'ai généré un «profil d'approvisionnement App Store» et un «profil d'approvisionnement ad hoc». 

J'espère que cela aide les autres. 

1
Jacob Giberson

J'ai eu la même erreur après la mise à jour de Xcode7 à Xcode8. Je n'ai pas besoin d'installer les certificats.

  1. Dans mon cas, je n'ai qu'à aller à Xocde -> "Préférences" -> "Comptes"

  2. Là je dois me connecter à nouveau mon compte existant, le login était A expiré.

  3. IMPORTANT: Après cela, redémarrez Xcode .

Ensuite, tout fonctionne comme prévu.

meilleures salutations

1
BHuelse

Ce problème est dû à une clé privée dans le certificat de votre profil qui ne correspond pas à celle de votre trousseau .. Je résous ce problème en 

  1. supprimer tous les certificats de développeur iPhone dans le trousseau.
  2. supprimer tous les certificats du compte Apple.
  3. en utilisant xcode "Manage Certificates" pour ajouter un certificat, vous avez parfois encore un certificat sur votre Mac, mais je ne sais pas où il se trouve pour le moment, et si ajouté avec succès, votre compte Apple affichera également ce certificat, puis vous pourrez créer votre profil avec ce certificat et téléchargement ... goto 5
  4. si vous utilisez "Gérer les certificats", vous ne pouvez pas ajouter de certificat, vous pouvez créer un nouveau certificat et conserver les étapes.
  5. terminer.
1
Yu Chai

En suivant les étapes ci-dessous:

  1. Sélectionnez la cible -> Général -> Signature -> sélectionnez l'équipe souhaitée (il faut le compte Super)
  2. Ensuite, sélectionnez les paramètres de construction dans la cible, conservez l'équipe de développement avec le même avec l'équipe sélectionnée. Définissez le profil d'approvisionnement avec une identité de signature automatique et de code avec iOS Developer.
  3. Sélectionnez le projet -> Paramètres de construction. Définition des informations de profil de provisioning et d'identité de signature de code avec détails
1
Trinstan

Comme @mgentilc le dit, la signature automatique fonctionne. Activez simplement Gérer automatiquement la connexion dans Général -> Signature, Xcode créera et mettra à jour automatiquement les profils, les identifiants d'applications et les certificats.

1
yiqi chen