2008-12-30 5 views
37

Lors de la construction d'une nouvelle application iPhone dans Xcode, je reçois cette erreur:Xcode: iPhone app erreur codesign

codesign error: code signing identity 'iphone developer' does not match any code-signing certificate in your keychain. once added to the keychain, touch a file or clean the project to continue.

Quelle est la solution?

+0

Question complémentaire: [Xcode échoue avec "Code Signing" Erreur] (http://stackoverflow.com/q/13962341/89035) – rjstelling

Répondre

63

Le correctif est assez simple. Dans la fenêtre Build Results (que vous avez probablement obtenue en cliquant sur l'icône d'erreur dans le coin inférieur droit de votre fenêtre de projet), modifiez le menu déroulant de «Device - iPhone xxx» en «Simulator - iPhone xxx».

xcode-screenshot http://www.kickasslabs.com/wp-content/uploads/2008/12/picture-1.jpg

+0

Répondre à ma propre question parce que je pense que cela aidera les autres. –

+0

Merci Gabe, j'ai eu la même erreur après la mise à niveau vers le SDK 3.0 et passé waaaay trop de temps à essayer de le réparer – Liam

+3

Je suis heureux de savoir que ce fil est toujours aider les gens. = -) –

9

J'ai eu cette erreur lorsque je accidentellement modifié la construction de l'identité de signature de code mise à la cible plutôt que le niveau du projet. Assurez-vous de saisir les informations correctes au niveau du projet (obtenez des informations sur le projet plutôt que sur la cible). Si vous avez modifié les paramètres de génération cible, essayez de supprimer les valeurs à partir de là. La cible héritera alors du paramètre du projet.

Je voudrais aussi faire un « propre tout », puis Xcode de sortie, supprimez tout à partir du dossier de construction et essayer de faire une autre construction. (Ceci est une astuce vaudou Xcode qui semble résoudre de nombreux problèmes de signature de code.)

+0

Je recevais également cette erreur et je sélectionnais par erreur la cible au lieu du projet. La sélection du projet et la mise à jour du certificat de signature ont corrigé le problème. – Sophtware

+0

J'ai fait l'inverse: Conservé en changeant les paramètres du projet et Nettoyer tout sans résultats. Ensuite, j'ai modifié la cible active, Définir l'identité de signature de code appropriée du profil de distribution (dupé du profil de version). Cela a fait l'affaire. Merci @lajos! – willc2

13

Vous devez faire partie du programme de développement de 99 $ pour tester sur le téléphone lui-même. Apple devrait avoir des informations sur la façon de signer votre code une fois que vous êtes accepté dans le programme.

+5

C'est 99 $ par année, pas seulement 99 $ :) – olafure

1

Aucune Voodoo nécessaire. Parfois, certaines applications changent de trousseau par défaut et Xcode arrête de trouver des clés de développeur iPhone. La solution est simple (il a travaillé pour moi):

  1. Liste item Démarrer Trousseau d'accès app
  2. Ctrl + clic sur porte-clés où vous avez enregistré vos clés de développement et sélectionnez Créer Keychain par défaut
  3. Profitez développer de grandes applications iPhone .
2

J'ai eu le même problème. Trouvé le correctif ici:

iphone sdk tools utilities

Dans Trousseau Access.app mon certificat de développeur apparaîtraient comme « Ce certificat a été signé par une autorité inconnue ». La raison en était que je n'avais pas le certificat intermédiaire ADC (que vous pouvez télécharger depuis "Provisioning Program" dans l'onglet "Certificats".) Une fois installé, le certificat du développeur s'affichait correctement dans le trousseau et mon code pouvait être déployé sur le téléphone sanglant.

7

Je viens de résoudre mon problème de signature de code. Quel cauchemar! plus de 8 heures de frustration sur deux jours. J'ai essayé de nouvelles applications, de nouveaux noms d'applications, de nouveaux certificats, la suppression des profils d'approvisionnement, etc. Fondamentalement, j'avais deux " certificats iPhone distribution » dans mon trousseau causant tout le code signature à l'échec. mais on était caché! Le Cert visible était dans mon trousseau de connexion. Le Cert invisible était dans mon trousseau de système. Soyez averti, ajoutez votre certificat soit trousseau mais pas les deux! J'ai supprimé le certificat du système Keychain et il est devenu un certificat fantôme. L'outil "Trousseau d'accès" du trousseau système existait mais il existait dans le fichier System keychain actuel, de sorte qu'il n'avait pas été supprimé. J'ai salué le fichier du trousseau pour le mot Distribution et voilà! Ma solution était de supprimer cette ligne contenant iPhone Distribution du fichier keychain qui a corrigé la signature du code. Le résultat est que j'ai un trousseau système brisé.Mais je peux encore signer des applications \ m/

3

cela peut sembler drôle, mais j'ai cherché partout une solution. Finalement, j'ai découvert que dans Xcode en haut à gauche, la liste déroulante où vous sélectionnez Device et Verison, j'avais "déboguer" sélectionné dans la liste déroulante au lieu de la version. Une fois la version sélectionnée, le problème a été résolu.

2

Cette situation se produit lorsque vous recevez un projet Xcode d'une autre personne.

Voici ce que j'ai fait pour résoudre le problème.

  1. Enregistrez votre clé dans un accès par clé. Vous pouvez télécharger votre clé dans le portail iOS provisioning . (Application -> Utilitaire -> Accès au trousseau)
  2. Installer le fichier de configuration pour l'application.
  3. Modifier le développeur iPhone dans une configuration de projet. (Infos cibles -> Construire appuyez sur -> Signature de code -> Signature de signature de code et tout iOS)
+0

Que voulez-vous dire "construire robinet"? – zakdances

+0

Je veux dire un robinet nommé Construire dans la fenêtre Infos sur la cible. – heemin

1

Lorsque rien de ce qui précède m'a aidé, j'ai accidentellement enlevé mon lecteur de carte avec mon certificat de signature électronique dessus et maintenant mon l'application se construit sans erreurs. Si vous avez un tel certificat, essayez de le débrancher un instant.

1

Je viens de résoudre mon problème à faire cela:

  • cliquez dans votre dossier principal du projet dans le navigateur du projet
  • à la fenêtre de droite, choisissez votre cible
  • sous la rubrique « signature de code », changer la code Signing identité de ce qu'il était à la vôtre
  • définir le système actif (en haut à gauche, à côté du bouton « Exécuter ») à votre
  • iPhone/iPad

Espérons que cela aide quelqu'un là-bas!

Questions connexes