Erreur CodeSign: l'identité du certificat 'iPhone Developer: XXXX (12345678)' apparaît plusieurs fois dans le trousseau. L'outil de conception de codes ne nécessite qu'un seul.
Alors je vais sur mon trousseau et je le supprime. Mais j'obtiens cette erreur chaque fois que je redémarre Xcode 4 et qu'une application ajoute l'ancien certificat expiré dans le trousseau. Des idées pourquoi et quelle application?
iphone
objective-c
xcode4
code-signing
Mugunth
la source
la source
Réponses:
J'ai juste eu le même problème. Cela a été corrigé. Il est venu après que j'ai soumis une application et installé quelques certificats pour signer l'application.
Solution rapide: ouvrez ACCÈS KEYCHAIN> cliquez sur MES CERTIFICATS> vous y verrez probablement iPhone Developer:. Vous le verrez probablement DEUX FOIS! Sélectionnez celui avec la date d'expiration la plus ancienne, cliquez avec le bouton droit et sélectionnez SUPPRIMER.
Redémarrez Xcode si vous ne l'avez pas fait. Fonctionne maintenant. :)
Bon codage.
la source
Je pense avoir compris pourquoi la simple suppression ne fonctionne pas. Étant donné que le certificat de développement est toujours stocké dans le profil de fourniture, lorsque je ferme / rouvre le Xcode après avoir supprimé le certificat dans Keychain, j'ai vu l'ancien certificat revenir. Alors je le supprime à nouveau. Ça a marché.
La simple suppression du profil n'a pas fonctionné pour moi.
Solution qui a fonctionné dans mon cas:
la source
Je viens de passer pas mal de temps à me débattre avec ce même problème. Après toutes les tentatives pour le corriger, j'ai finalement réalisé qu'il s'agissait d'un bogue dans Xcode. Ce message m'a donné un indice pour résoudre ce problème: les certificats réapparaissent comme par magie dans votre trousseau
Dans mon cas, la clé privée correspondante se trouvait dans le trousseau système et portait simplement mon nom (difficile de dire que c'était pour l'approvisionnement). J'ai dû:
Une observation intéressante est que lorsque vous supprimez le certificat, cela ne supprime pas la clé privée associée. Visuellement, il montre la clé privée sous le certificat. Ne soyez pas dupe.
Bonne chance!
la source
Ok, j'ai trouvé la réponse à une autre question "connexe". Problème de certificat expiré Xcode Problème connu avec Xcode 4 http://openradar.appspot.com/9173280
la source
Si vous êtes membre des programmes iOS Developer et Enterprise iOS Developer et que vous avez entré le nom de votre entreprise de la même manière pour les deux applications, vous vous retrouverez avec deux certificats de distribution valides portant le même nom.
Je pense que cette question répond à cette situation: les collisions CodeSign entre Developer et Enterprise Distribution
la source
J'ai le même problème avec xcode45-DP1. cela fonctionne pour moi:
supprimez tous les certificats liés à votre compte du trousseau. Porte-clés QUIT
supprimez tous les profils de provisionnement liés à votre compte de xcode: organisateur: appareil: Bibliothèque: profils de provisionnement. QUITTER xcode
révoquez votre certificat, régénérez-le et téléchargez-le sur votre machine de construction
avant de télécharger le profil d'approvisionnement, cliquez sur Modifier à côté du bouton de téléchargement pour vous assurer que votre nom est sélectionné.
Ensuite, téléchargez le profil d'approvisionnement
double-cliquez sur le certificat pour l'installer sur le trousseau
faites glisser le profil d'approvisionnement vers xcode: organisateur: appareil: Bibliothèque: profils d'approvisionnement
ne cliquez pas sur le bouton d'actualisation du xcode.
faire la construction.
la source
La réponse est ici
supprimez tous mes anciens profils d'approvisionnement à l'aide de l'ancien certificat avec l'organisateur, puis quittez XCode, supprimez l'ancien certificat du trousseau et redémarrez XCode.
semble que le xcode conservera les certificats lorsque vous avez des références à dans les profils d'approvisionnement
la source
J'avais des problèmes avec les certificats de zombies qui étaient repeuplés dans mon trousseau et l'identité du certificat apparaissant deux fois. La simple suppression du certificat en double n'a pas fonctionné.
Dans Xcode, quand je regarde ma signature de code dans la cible, je me souviens que j'avais un profil de distribution différent dans les versions "Ad Hoc" que dans les versions "Release".
Lorsque j'ai généré un nouveau certificat, j'ai uniquement téléchargé un nouveau profil pour les versions Ad Hoc, et non pour les versions Release.
Xcode s'accrochait au certificat pour ces deux profils, et Xcode provoquait donc les certificats en double ... parce que j'ai oublié de mettre à jour mes profils correctement.
Assurez-vous de mettre à jour TOUS vos profils d'approvisionnement avec le nouveau certificat et de modifier TOUS les profils en même temps dans Xcode.
la source
J'ai eu ce problème et j'ai lu toutes les informations à ce sujet, j'ai finalement trouvé la solution par moi-même. Ce que les gens n'ont pas mentionné, c'est qu'AVANT de nettoyer les certificats dans l'organiseur Xcode et AVANT de nettoyer les clés expirées dans votre trousseau, vous devez vous assurer que vous n'avez pas de certificats expirés dans le portail de provisionnement . Si vous avez même un certificat expiré pour une ancienne application qui utilisait l'ancien certificat de développeur, Xcode le tirera dans son organisateur avec la première version et à partir de là, il ira à votre trousseau et provoquera un doublon.
la source
Dans mon cas, le "cache" que Xcode recherchait était un appareil iOS connecté. Pour déterminer si c'est le problème pour vous:
Si c'est la cause principale pour vous, vous pouvez la contourner en vous assurant de déconnecter les appareils iOS avant de démarrer Xcode.
la source
La simple suppression du certificat redondant n'a pas fonctionné pour moi. Il semble que chaque fois que xcodebuild est appelé, il "recrée" le certificat dans le trousseau à partir d'un cache quelque part ... même problème qu'avi j'ai créé un hack / correctif pour cela, j'ai essayé de trouver où le fichier était mis en cache et effacez-le, mais n'a pas eu de chance. En fin de compte, ce qui a fonctionné pour moi (un peu de hack, mais bon, que pouvez-vous faire d'autre), c'était de déterminer quel était le numéro de certificat et de le supprimer manuellement du trousseau peu de temps après l'appel de xcodebuild. Tout d'abord, allez dans votre répertoire / usr / bin / (ou dans tout autre répertoire contenant votre fichier xcodebuild, essayez
which xcodebuild
) et exécutez la commande suivante:Ensuite, créez un fichier en utilisant votre éditeur préféré (n'oubliez pas de sudo) avec le code suivant:
Remarque: vous devrez modifier votre fichier sudoers pour avoir accès à exécuter cette commande spécifique sans avoir à entrer de mot de passe.
Remplacez l'identité hexadécimale après -Z ci-dessus par l'identité hexadécimale du certificat de zombie incriminé. Enfin, assurez-vous que le fichier xcodebuild est exécutable:
Vous pouvez maintenant ouvrir votre trousseau et exécuter la commande de construction, et regarder comment le certificat de zombie incriminé est ressuscité, puis sommairement fusillé avant qu'il ne devienne un problème de signature de code. Espérons qu'Apple proposera une véritable solution à ce problème.
la source
Dans mon cas, la suppression des certificats n'a pas fonctionné. XCode 4 semble les mettre en cache ou les restaurer. L'astuce qui a finalement fonctionné pour moi était de faire fonctionner le trousseau et le xcode. Ensuite, dans le trousseau, faites glisser mes 2 certificats (dev + dist) de 'login' vers 'system'. Ensuite, les doublons ont réapparu comme par magie et j'ai pu les supprimer, puis j'ai fait glisser les certificats vers `` connexion ''
la source
C'est très simple, exportez le bon certificat sur votre bureau. Supprimez ce certificat dans le trousseau. Essayez de créer une source avec un message d'erreur (sans certificat.) Puis importez à nouveau le certificat. => Succès!
la source
Je viens de supprimer l'une des clés privées de mon trousseau pour le certificat dont je n'ai plus besoin.
Même si le certificat réapparaît, mais la clé privée ne réapparaît pas. Vérifiez maintenant les certificats valides et un seul certificat apparaîtra et les autres certificats dont la clé privée est supprimée ne sont plus affichés sous les certificats valides.
Je pense que c'est le moyen le plus simple de résoudre ce problème.
la source
J'ai été confronté au même problème une fois. Et je l'ai résolu en supprimant le profil d'approvisionnement inutilisé de l'onglet Organisateur dans xcode. En fait, le trousseau obtiendra ce certificat à partir de ce profil d'approvisionnement qui est soit un certificat expiré, soit la construction par certificat révoqué.
Il vous suffit donc de supprimer ce profil d'approvisionnement de l'onglet Organisateur. L'organisateur se trouve sur le bouton en haut à droite de xcode. Ouvrez-le et, dans l'organisateur, supprimez les profils d'approvisionnement que vous n'utilisez pas.
Voici la capture d'écran,
Et n'oubliez pas de supprimer le certificat supplémentaire du trousseau, mais après cela, ce certificat n'apparaît plus.
la source