Je reçois cette erreur:
Erreur CodeSign: l'identité du certificat "iPhone Developer: XXX" apparaît plusieurs fois dans le trousseau. L'outil de conception de codes nécessite qu'il n'y en ait qu'un.
Au début, je pense, pas de soucis, je vais juste aller dans le trousseau et supprimer le doublon (plus ancien), ce que j'ai fait. Je suis retourné, fermé Xcode, rouvert Xcode et projeté, même erreur. wtf je pensais à moi-même. Retour dans le trousseau et le cert est de nouveau là. Je supprime les deux certificats, répète et remarque que le projet se charge, les deux certificats que j'ai supprimés reviennent dans le trousseau.
Après de nombreuses recherches, je me suis assuré que je n'avais pas le certificat dans le trousseau système, ce que je n'avais pas. A également fait un nettoyage et une reconstruction. Quand j'avais des doublons avec Xcode 3, je pouvais simplement nettoyer le doublon du trousseau et j'étais bien. Mais avec Xcode 4, il les réinstalle littéralement en quelque sorte lorsque j'ouvre le projet. J'ai même supprimé tous les fichiers .cer de mon système dont il pourrait être en train de les extraire.
Aucune suggestion?
La solution consistait à aller dans l'organisateur - sous bibliothèque - profils d'approvisionnement, à les supprimer tous, puis à réinstaller tous les profils dont j'avais encore besoin.
J'ai eu ce même problème et les solutions ci-dessus n'ont pas résolu mon problème (enfin presque).
J'avais le même ID/certificat de développeur en double dont tout le monde se plaint, et j'ai essayé de supprimer tous mes profils, de révoquer/rééditer mon certificat, en m'assurant qu'il n'y en avait pas dans le trousseau du système, redémarrer, etc.
En fin de compte, il s'est avéré était un certificat dans le trousseau système, celui qui avait a expiré et était donc caché par défaut dans la liste.
Assurez-vous que vous pouvez voir les certificats expirés dans KeyChain
Pour faire ça:
Xcode 4 a une nouvelle fonctionnalité "Provisioning automatique des appareils". Il est situé dans l'organiseur sous les profils de bibliothèque/provisioning. Si cette option est activée, il télécharge automatiquement vos profils d'approvisionnement à partir du Apple et vous obtenez ainsi l'erreur d'avoir des doublons. Le moyen le plus simple de le corriger consiste à supprimer tous les profils d'approvisionnement et Appuyez sur Actualiser pour le "Automatic Device Provisioning". Cela chargera vos profils d'approvisionnement à partir du serveur et résoudra votre problème.
si vous voulez jouer avec l'accès au trousseau pour supprimer le certificat expiré, vous pouvez essayer ceci:
le certificat expiré disparaît avec le trousseau. a parfaitement fonctionné pour moi.
-- MODIFIER --
Fusionnez la réponse de @ Codezy et le commentaire de @ iphone007.
J'ai passé une demi-journée pour ça et j'ai finalement trouvé la solution
Fermez ensuite Keychain.app et accédez à Xcode -> Organizer
Reconstruisez votre application :)
En supprimant les profils d'approvisionnement dans la bibliothèque de l'Organisateur, vous devez également supprimer le certificat de développeur iPhone dans Keychain Access. (Le nom du certificat est probablement comme "iPhone Developer: XXXXX ..." et indiqué par le signe X rouge, comme expiré)
J'ai essayé tout ce qui est suggéré ici, mais rien n'a fonctionné pour moi, sauf la réinstallation de XCode 4.3 qui a résolu le cas par magie.
Pour la postérité, voici la stratégie pour contourner ce problème dans notre script de construction automatisé:
A trouvé un moyen très simple de résoudre ce problème dans 4.6.1. Vous pouvez le faire sans rien redémarrer ni supprimer aucun profil!
Avec Keychain Access et votre projet Xcode ouvert:
J'espère que ça aide!
Pour ce que ça vaut, @AndreasPrang, votre réponse a fonctionné quand tout ce qui précède n'a pas fonctionné. Je pouvais voir que le certificat expiré ne se trouvait nulle part dans le trousseau, mais quand j'ai fait une construction, Xcode l'a dit. La suppression des profils d'approvisionnement (tous), la sélection de mon nom dans la section Équipe et le fait de cliquer sur l'icône d'actualisation dans le coin inférieur droit de l'organisateur n'ont pas non plus aidé. Le redémarrage de Xcode n'a pas aidé, mais l'arrêt de XCode, la suppression de ~/Library/Developer/Xcode l'ont fait. Quand j'ai redémarré XCode, il a tout reconstruit et était content.
L'autre raison pour laquelle xcode continue d'installer votre certificat est que vous n'avez pas supprimé la clé, uniquement le certificat. Vous devez supprimer la clé privée (et la clé publique correspondante) ainsi que le certificat dans le trousseau, sinon xcode réinstallera le certificat.
Cochez ici pour supprimer les certificats de développement et de distribution de votre troussea
Citant une réponse à un double de cette question, certains des bogues de Xcode dans cette zone ne peuvent être résolus qu'en redémarrant OS X.
En fin de compte, j'ai réussi à supprimer tout ce qui est mentionné dans l'une des réponses à cette question, à redémarrer, puis à installer manuellement les pièces dont j'avais besoin (je n'ai pas fait confiance/essayé la fonction de téléchargement automatique de profil/certificat).
la méthode ci-dessus ne fonctionne pas pour mon cas
enfin, je vais au trousseau
et recherchez la clé en entrant le nom
j'ai finalement trouvé le cert qui est censé être supprimé avant. puis je l'ai supprimé et le problème a été résolu
c'est vraiment frustrant, et je ne sais pas si c'est le bug ....... vraiment épuisant.
Je viens d'installer Xcode 4.6.1 et j'ai recommencé à avoir ce problème. La dernière fois, c'était il y a longtemps. J'ai supprimé les anciens profils d'approvisionnement et les certificats, mais je n'ai toujours pas pu les créer.
Cette fois, il s'avère que j'avais 2 certificats répertoriés pour moi dans le compte d'équipe du portail des développeurs. Le premier était expiré, le second ne l'était pas. Xcode a continué à saisir le premier qu'il a trouvé lors de l'actualisation (ou peut-être les deux).
J'ai supprimé les deux certificats du trousseau, puis téléchargé manuellement le bon depuis le portail d'Apple et l'ai ajouté manuellement au trousseau. Maintenant, je peux reconstruire.
(Et j'ai envoyé une demande à l'administrateur de l'équipe pour supprimer l'ancien certificat.)