web-dev-qa-db-fra.com

iOS 7.0 Aucune identité de signature de code trouvée

  • le certificat est valide
  • xcode 5
  • iOS 7

Erreur de signature de code: Aucune identité de signature de code trouvée: Aucune signature de code identités (par exemple, certificat et paires de clés privées) qui correspondent à Le profil de provisioning spécifié dans vos paramètres de construction («iOS Team Profil de provisioning: *») a été trouvé. Erreur CodeSign: la signature du code est requis pour le type de produit 'Application' dans le SDK 'iOS 7.0'

123
user2849317

Pour certificat

  1. Révoquer le certificat précédent.
  2. Générer un nouveau certificat de développement.
  3. Télécharger le certificat.
  4. Double-cliquez pour mettre dans KeyChain.

Pour le profil d'approvisionnement

  1. Créer un nouveau ou modifier un profil de provisioning existant.
  2. Télécharger et installer.

Pour BundleIdentifier.

  1. com.yourcompanyName.Quelque chose

enter image description here

CodeSigningIdentity.

  1. Sélectionnez le profil de provisioning que vous avez créé.

enter image description here

68
Rajneesh071

Ma solution à ce problème était la suivante:

Xcode> Préférences. Dans Comptes, cliquez sur votre identifiant Apple. Cliquez sur Afficher les détails, cliquez sur votre profil d'approvisionnement (je pense que cela aide) et cliquez sur le bouton d'actualisation en bas à gauche 

44

Je pensais compléter mes autres réponses avec mon expérience personnelle à ce sujet.

Récemment, un problème est survenu, selon lequel deux cibles se construisent et deux échouent avec l'erreur suivante:

Erreur de signature de code: Aucune identité de signature de code trouvée: Aucune signature valide identités (c'est-à-dire certificat et paire de clés privées) correspondant à l'équipe ID “XXXXXXXXXX” ont été trouvés. Erreur CodeSign: la signature de code est requise pour le type de produit 'Application' dans le SDK 'iOS 7.1'

Ceci malgré le fait que tout ait été mis à jour dans Xcode et sur le iOS Developer Center .

L'indice était que l'ID de l'équipe indiqué dans le message d'échec de la construction à propos de était obsolète. 

Effectivement, l'ouverture du fichier project.pbxproj de Xcode dans un éditeur de texte a retrouvé l'ancien identifiant de l'équipe:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Incidemment, pour obtenir votre fichier project.pbxproj, sélectionnez votre fichier .xcodeproj et affichez le contenu comme indiqué ici:

enter image description here

En recherchant sur la cible Id D29A93A318AB96440099C177, j'ai pu constater qu'elle correspondait à l'une des cibles défaillantes:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

Dans ce cas, MyTarget3. Pour résoudre ce problème, une simple recherche de texte a remplacé l'ancien identifiant d'équipe par le nouvel identifiant correct. Problème résolu.

Pour résumer, espérons que votre problème sera résolu en utilisant les réponses ci-dessus plutôt que de plonger dans les complexités du fichier de projet de Xcode. Toutefois, s'il ne le fait pas et que l'erreur indique un ID d'équipe non valide, il est utile de vérifier si cet ID est toujours présent.

17
Max MacLeod

J'ai eu exactement le même problème en développement. Je l'ai résolu par 

  1. Accédez aux préférences XCode, affichez les détails de l'identifiant Apple et supprimez le fichier de provisioning faisant l'objet de la plainte.
  2. Accédez au trousseau d'accès et supprimez le certificat de développement associé au fichier de provisioning que vous venez de supprimer.
  3. Dans Apple Member Center, téléchargez le fichier de provisioning de développement que vous venez de supprimer localement, puis double-cliquez sur le fichier pour vous assurer qu'il apparaît dans XCode. 
  4. Téléchargez le certificat de développement que vous venez de supprimer localement et double-cliquez pour vous assurer qu'il apparaît bien dans le trousseau d'accès. 
  5. Il devrait être bon d'y aller maintenant. 
9
EddieHFu

Je viens d'avoir ce problème avec Jenkins. 

La solution consistait à copier le certificat et à le coller dans le trousseau système sinon Jenkins ne pourrait pas lire le certificat.

8
Daniel Ryan

Vous ne devriez pas avoir à supprimer tous les profils pour résoudre ce problème,

En examinant les profils de mes périphériques dans l'Organiseur, j'ai constaté qu'un de mes profils n'était pas valide . Je suis ensuite allé à la page Certificats de développeur, identifiants et profils et tous les profils étaient actifs, verts et bien En cliquant sur Modifier sur celui qui s'est révélé invalide sur mon appareil, j'ai constaté que la case à cocher du compte associé n'était pas cochée même si l'option Sélectionner tout était cochée. J'ai coché la case pour associer le profil à mon certificat, téléchargé le profil et tout a été corrigé.

Sur votre page Web Profils, cliquez sur "Modifier" On your Profiles web page

Vous remarquerez peut-être qu’il n’ya pas de certificat associé même si "Tout sélectionner" est coché .Edit you profile![][1]

7
mj662

Après avoir passé un temps ridicule à essayer de résoudre l'un de ces problèmes, et je peux vraiment voir où la plupart de ces réponses pourraient être correctes dans certains cas, ma situation n'était pas si rare. 

J'essayais de déployer sur l'App Store pour tester avec TestFlight. Un développeur précédent, ne faisant plus partie du projet ou de la société, avait créé le certificat de distribution IOS. Xcode essayait de me dire que oui, le certificat était dans le centre des membres, mais vous ne pouvez absolument pas l'utiliser, car ce n'est pas le vôtre. Je n'avais pas la clé privée nécessaire pour signer avec elle et aucune quantité d'actualisation, de redémarrage, de révocation ne m'aiderait. Vous avez besoin d'un certificat de développeur et de distribution pour télécharger sur l'App Store. 

La solution consistait à créer un nouveau certificat de distribution de la production dans le centre des membres, à l'aide d'une nouvelle demande de signature de mon trousseau. Ce processus est bien documenté et décrit lors de la création du cert en ligne. Une fois cela fait, actualisez votre compte dans xcode pour le télécharger sur votre trousseau et vous serez dorés. J'espère que cela aide quelqu'un!

4
Philip Nelson

Pour moi, régler Projet → Cibles/[Votre projet] → Général → L'équipe sur "Aucune" a résolu le problème.

4
gklka

J'ai atteint ce fil lorsque j'utilise un script de génération pure en ligne de commande/jenkins et je ne souhaite pas qu'une seule interface utilisateur/RDP soit créée manuellement pour l'environnement d'intégration.

Après quelques heures, essayez de résoudre exactement le même problème en utilisant Jenkins.
La clé est "security list-keychains -s <votre_nom_de_chaque>"

--- Longue histoire ---
J'utilise un script dans Jenkins pour remplacer les paramètres par projet (profil d'approvisionnement et identités de signature)
Après la mise à niveau vers Xcode 7, je dois changer le script ajouter ci-dessus "list-keychains" après "create-keychains" 

Script mis à jour ici .

2
Bochun Bai

cela peut paraître étrange, mais pour moi, le redémarrage de mon ordinateur a fonctionné. Je ne peux pas expliquer pourquoi ni ce qui s’est passé, mais cela fonctionne maintenant. j'espère que ça aidera quelqu'un

2
Silviu St

Essayez de changer l’identifiant de l’ensemble: Projet -> Cibles/[Votre projet] -> Général -> Identifiant de l’ensemble

Si l'application a été publiée sur AppStore, XCode n'autorise pas la création de l'application avec le même identifiant d'ensemble.

1
Vlad

De toute évidence, cette question a différentes causes. :)

Pour mon cas, mon compte a expiré ... Je l'ai résolu simplement:

XCode -> Préférences -> Compte -> Identifiants Apple -> Sélectionnez l'identifiant associé et renouvelez la connexion ...

J'espère que cela t'aides! 

1
RainCast

vous n'avez pas besoin de supprimer tous vos profils. J'ai le même problème et je l'ai corrigé en installant les certificats manquants. Vous avez peut-être oublié d'installer le certificat requis pour le profil d'approvisionnement utilisé pour la signature de code.

  • assurez-vous que vous avez installé les certificats souhaités (développement/distribution) dans le trousseau pour le profil de provision de signature de code (développement/distribution).
1
srinivas

Assurez-vous que votre certificat est connecté avec votre clé privée :

Ouvrir Accès au trousseau, connexion, certificats . Recherchez le certificat dans la liste et voyez s'il est correctement associé à votre clé privée.

Si le certificat n'est pas signé avec une clé privée, supprimez-le, accédez à la page de développement Apple et créez un nouveau certificat. Parfois, il sera nécessaire de révoquer l'ancien. Ce nouveau certificat sera maintenant correctement signé avec votre clé privée.

Maintenant, lorsque vous avez un nouveau certificat, recréez les profils de provisioning nécessaires qui incluront un nouveau certificat dans le processus de création.

Notez que si un membre de votre équipe réinitialise ce certificat avec sa clé privée, le même problème peut apparaître à nouveau pendant le processus d'actualisation. Je ne suis pas sûr, mais il semble que chaque développeur dans l'équipe doit avoir son propre certificat pour la distribution.

1
Prcela

Cibler iOS 8 et 9 sur Xcode 7. Mon profil de développement est correct. J'ai eu cette erreur lors de l'archivage de l'application pour le téléchargement sur l'App Store. Voici ce que j'ai fait:

Xcode> Préférences> Comptes> Afficher les détails. À côté de la distribution iOS, cliquez sur le bouton "Réinitialiser". Cela invalidera le profil d'approvisionnement de la distribution que vous utilisez (car vous réinitialisez le certificat de distribution). Modifiez donc le profil pour inclure le certificat récemment réinitialisé.

Assurez-vous de télécharger le nouveau certificat de distribution et le profil d'approvisionnement de distribution récemment modifié. Redémarrez Xcode.

1
Matthew Quiros

J'ai eu cette erreur ambiguë, "La commande/usr/bin/codesign a échoué avec le code de sortie 1", lors de la configuration de nouvelles boîtes Jenkins pour les versions iOS avec Xcode 7.3, OSX 10.11.4. 

Dans mon cas, plusieurs choses étaient correctes: 1. Oui, j'avais ajouté mes certificats au trousseau, à la fois la racine d'Apple et le certificat de l'équipe . 2. Oui, j'avais téléchargé le bon profil d'approvisionnement via les préférences de xcode .3.Yes il a même construit manuellement dans xcode.

Cependant, pour Jenkins, il y avait peut-être un problème de cache sur xcode. Ce qui a fonctionné était: 1.Laissez l'interface graphique Xcode . 2.Accédez à nouveau et exécutez la construction manuellement une fois. 3.Seuls inviter Xcode à autoriser l’autorisation d’accès au trousseau. 4.Jenkins a certains paramètres qui pourraient peut-être résoudre ce problème, mais mes machines étant sécurisées, je clique donc sur «Autoriser toujours xcode à accéder au trousseau».

0
AnneTheAgile

Après avoir tiré les cheveux pendant un long moment, j'ai finalement trouvé un problème. J'ai sélectionné le mauvais certificat lors de la création du profil d'approvisionnement, en sélectionnant le bon, cela m'a aidé. un par un pour résoudre ce problème.

0
Amit Ajmera

Avec fastlane installed, vous pouvez créer et installer un certificat de développement en 

cert --development
sigh --development
0
powtac

Allez dans le navigateur Problèmes et vérifiez si Signing Identity: est présent dans votre Porte-clés Accès . Si non, téléchargez le fichier .cer et ajoutez-le au trousseau.

0
Petr Syrov