web-dev-qa-db-fra.com

Xcode 'Erreur CodeSign: la signature de code est obligatoire'

Je travaille sur un projet iPhone avec iOS 4.0. Je viens de télécharger Xcode 3.2.4 avec iOS SDK 4.1 pour pouvoir utiliser l'iOS mis à jour. Lors de l'ouverture du projet dans le Xcode mis à jour, j'ai constaté que la cible lisait «Base SDK Missing». J'ai corrigé cela en suivant les instructions ici .

Désormais, lorsque j'essaie de créer une version ciblant n'importe quelle version d'iOS, je reçois cette erreur (avec la version correspondante référencée dans le texte de l'erreur):

Erreur CodeSign: la signature de code est requise pour le type de produit 'Application' dans le SDK 'Appareil - iOS 4.1'

Le profil de provisioning d'équipe créé par Xcode est installé sur mon certificat, et le fournisseur de signature de code sélectionné est "Développeur iPhone: Aaron Milam".

Des idées sur ce que je pourrais manquer ici?

41
Aaron

Cela se produit lorsque Xcode ne reconnaît pas votre certificat.

C'est juste une douleur dans le cul pour le résoudre, il y a beaucoup de possibilités pour vous aider.

Mais la première chose que vous devriez essayer est de supprimer dans l'onglet "Fenêtre" => Organizer, le provisioning présent dans votre appareil. Puis rajoutez-les (téléchargez-les à nouveau sur le site Web Apple). Et essayez de compiler à nouveau.

A propos, avez-vous vérifié dans la fenêtre d'informations du projet "l'identité de signature de code"?

Bonne chance.

41
Vinzius

Assurez-vous de signer le code sur la ligne " tout SDK iOS " et non "Debug/Distribution/Release"

Voici exactement ce que j'ai fait:

Identité de signature de code -> ne pas signer de code
* Debug -> ne pas coder le signe
** tout SDK iOS -> [mon profil de développeur]
* Distribution -> ne pas coder le signe
** tout SDK iOS -> [mon profil AppStore]
* Libérer -> ne pas coder le signe
** tout SDK iOS -> [mon profil AdHoc]

Lorsque je mets mes profils un niveau supérieur (à Debug/Ditribution/Release), cela ne fonctionne pas pour une raison quelconque (bug?).

J'espère que cela aide certains d'entre nous!

20
Gryzorz
  • J'aime le débordement de pile:

  • Je me suis rendu compte qu’un peu trop de temps n’est pas suffisant, c’est que nous avons peut-être une version différente de Xcode, j’ai moi-même deux versions de xcode sur le même Mac Pro. Donc, ici, j'aimerais donner une instruction générale qui, j'espère, fonctionnera pour toutes les versions de Xcode:

  • Mes 2 versions sont xcode 3.2.6 et 4.0. Vous devez trouver (même google pour les paramètres) vos xcode BUILD SETTINGS et son CODE SIGNING sous CODE SIGNING vous avez CODE SIGN IDENTITY ce qui vous fournit une liste des IDENTIFIANTS (si vous n'avez pas des IDENTIFIANTS, allez ici pour en obtenir un et l'enregistrement est nécessaire) https://developer.Apple.com/ios/manage/overview/index.action - suivez les instructions d'Apple "Obtenez votre application sur iOS avec l'assistant de mise en service du développement") si vous disposez d'une liste d'identifiants il suffit de sélectionner une carte valide et de relancer votre Xcode. Ça va marcher!

  • 3.2.6 spécifique: Sur la fenêtre de votre scode - cliquez sur Projet -> Paramètres du projet -> Construire (onglet) -> il y a un défilement vers le bas parce que la liste est longue. ASSUREZ-VOUS de faire défiler pour trouver votre section CODE SIGNING

  • Spécifique à 4.0: sur la fenêtre de votre xcode - cliquez sur le fichier de votre projet situé dans la colonne la plus à gauche -> puis sur la colonne suivante, cliquez sur votre application cible -> recherchez CODE SIGNING et affectez un IDENTIFIANT. Il devrait fonctionner pour vous.

Terminé!

7
dung

La cause la plus fréquente, étant donné que tous les certificats sont correctement installés, ne spécifie pas l'identité de signature de code dans les paramètres de la cible active avec les paramètres du projet. Remplacez-les par iPhone Developer (Xcode sélectionnera le bon profil en fonction de la correspondance de l'ID d'application).

  • Dans Xcode, passez de Simulator à Device (dans la liste déroulante en haut de la fenêtre Xcode), de sorte que votre cible pour le déploiement d’applications soit le Device.

  • L'ID par défaut, qui correspond à un caractère générique, ressemble à un catch all iD lorsqu'il est associé à la signature de code (si vous utilisez des exemples de fichiers pour générer, ils n'auront bien évidemment pas les importations com.coolapps.appfile, auquel cas le ' Profil de provisioning par équipe ", votre construction échouerait. Vous souhaitez donc définir cette option dans votre

  • Xcode-> Projet -> Modifier les paramètres du projet-> Construire (onglet) -> Identité de signature de code (en-tête) -> Tout iOS (à partir de n'importe quel simulateur iOS) -> (sélectionnez "Développeur iPhone" comme valeur; Profil d'approvisionnement de développement en caractères génériques (profil d'approvisionnement d'équipe: *)

et aussi (TRES IMPORTANT)

  • Xcode-> Projet -> Modifier la cible active -> Construire (onglet) -> Identité de signature de code (en-tête) -> Tout iOS (modification à partir de n'importe quel simulateur iOS) -> (sélectionnez "Développeur iPhone" comme valeur. Profil d'approvisionnement de développement en caractères génériques (profil d'approvisionnement d'équipe: *)

Suivez les étapes pour un débutant à l'adresse suivante: http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code- erreur de signature/

6
SheshPai

Assurez-vous que vous avez créé les profils de provisioning correctement ... vous devez avoir ... une clé publique, une clé privée et un certificat dans l'accès au trousseau . VÉRIFIEZ si vous avez tous ces éléments .. 

XCode 3.2.4 est livré avec le provisionnement automatique des périphériques ... il vous suffit donc de vous connecter à votre développeur Compte, il téléchargera tous les profils valides ..

Si vous avez tout ce dont vous avez besoin dans le trousseau et les profils téléchargés .... Lorsque vous sélectionnez iPhone Developer: Aaron Milam '. dans les paramètres de construction .. assurez-vous que vous avez sélectionné la configuration (en haut à gauche de Target-> Build) que vous voulez construire avec pour ..__ou ou vous pouvez faire Toute configuration pour apporter des modifications à toutes les configurations disponibles, par exemple Debug, Libération etc.

3
kthorat

Résumé de la réponse à Xcode échoue avec l'erreur "Code Signing"

Les fichiers project.pbxproj peuvent être fusionnés de telle sorte que deux lignes CODE_SIGN_IDENTITY puissent être insérées. Supprimer l'un de ces problèmes résout normalement le problème.

J'ai créé un script simple pour aider à diagnostiquer ce problème, il peut être trouvé ici: https://Gist.github.com/4339226

Une réponse complète peut être trouvée ici .

2
rjstelling

Après avoir essayé toutes les réponses ci-dessus et tout ce que je pouvais penser à partir de Xcode 4.6, j'ai corrigé cela avec ces étapes:

  1. Fermer Xcode
  2. Cliquez avec le bouton droit sur le fichier .xcodeproj -> afficher le contenu du paquet.
  3. Editez project.xcodeproj dans un éditeur de texte
  4. Recherchez "CODE_SIGN_IDENTITY" - il y aura des paires de lignes comme celle-ci:
 CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)";

J'ai trouvé 2 cibles avec une telle valeur, et 2 cibles avec 

 CODE_SIGN_IDENTITY = "";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "";

J'ai copié la première paire de lignes par-dessus la dernière paire de lignes pour tous les cas où la dernière paire était vide.

J'ai ensuite redémarré Xcode, et cela fonctionne bien maintenant.

2
Rayfleck
  1. Remplissez "Code Signing" dans les sections "Project" et "Targets"
  2. Sélectionnez les entrées valides dans "Code Signing Identity" dans "Debug" et "Release".
  3. Sous "Debug", sélectionnez votre certificat Developer.
  4. Sous "Release", sélectionnez votre certificat Distributor.

Suivre ces 4 étapes résout toujours mes problèmes. 

2
Tibidabo

Autre possibilité - Lorsque vous créez pour l’archive, assurez-vous que votre choix d’archive dans votre schéma est défini pour la distribution, et non pour la publication.

Aller à Produit -> Modifier le schéma Ceci ouvre une nouvelle boîte de dialogue.

Sélectionnez Archive à gauche. Assurez-vous que la configuration de construction est Distribution. 

1
Jim Schrempp

Comme déjà mentionné ici, si vous ne voulez pas signer le code de votre application, vous pouvez Définir CODE_SIGNING_REQUIRED à NO. Voici une méthode pour le faire sans aucun projet/fichier Modification:

Créer un fichier NoCodeSign.xcconfig :

CODE_SIGNING_REQUIRED = NO

Définissez la variable d'environnement XCODE_XCCONFIG_FILE sur le chemin d'accès à ce fichier:

export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig

Vous pouvez maintenant créer votre application sans signer de code.

1
user2288008

J'utilise Xcode 4.3.2, et mon problème était celui-ci où se trouvait un dossier dans un autre dossier portant le même nom, par exemple, mon dossier/mon dossier /.

La solution consistait à modifier le nom du deuxième dossier, par exemple, myFolder/_myFolder et le problème a été résolu.

J'espère que cela peut aider quelqu'un.

0
marcos1490

Dans le fichier/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

changer le CODE_SIGNING_REQUIRED YES

à

CODE_SIGNING_REQUIRED NO

Redémarrer Xcode

0
Jim Huang

Avez-vous mis à jour la version du firmware de l'iPhone sur lequel vous testez? 

0
gnuchu

Dans mon cas, verrouiller et déverrouiller login-keychain à partir de Keychain Access a fait l'affaire  enter image description here

0
Awais Nasir

Peut-être que la date et l'heure de votre mac sont incorrectes. Corrigez-les simplement.

0
nminhtai