web-dev-qa-db-fra.com

/ usr/bin/codesign a échoué avec le code de sortie 1

J'essaie de déployer ma première application de développement pour iPhone et je rencontre quelques problèmes. J'ai réussi à passer par l'assistant de provisioning en ligne, mais je suis maintenant bloqué. Quoi que je fasse, j'obtiens toujours l'erreur suivante.

/ usr/bin/codesign a échoué avec le code de sortie 1

Quelqu'un a une idée pourquoi cela se passe?

79
PF1

Mettre à jour:
La note technique dans ma réponse originale est maintenant obsolète. Apple a publié une collection de problèmes de signature de code (et de solutions) dans un nouveau document: Note technique TN2407 Dépannage - Index de résolution de problèmes

Vérifiez la propriété CODE_SIGN_IDENTITY dans vos paramètres de construction. Votre profil d'approvisionnement est-il sélectionné ici?
Vous devez également entrer un identifiant d’ensemble valide dans votre application .plist.
L'identifiant doit correspondre à celui que vous avez fourni lors de la génération du profil.
Apple a une note technique à ce sujet ici .

54
Thomas Zoechling

Je viens de rencontrer cette erreur et voici ce que j'ai découvert au cas où cela pourrait aider quelqu'un: j'ai découvert que vous pouvez cliquer avec le bouton droit sur le message d'erreur dans Xcode et choisir développer pour obtenir plus de détails, y compris une description du problème.

Dans mon cas, j'avais deux copies de mon certificat de développeur portant le même nom dans différents fichiers de trousseau, et Xcode ne savait pas lequel utiliser.

25
Tobias Cohen

Ce pourrait être une réponse étrange au problème de code-code dans Xcode 9.0. Je recevais aussi cette erreur et je ne savais pas quoi faire, car tout était correct.

Je suis allé au trousseau, j'avais l'option de connexion "déverrouillée". Je l'ai verrouillé et compilé ma construction à nouveau. Xcode lui-même m'a demandé d'ouvrir le trousseau d'accès. J'ai donné accès et cela a fonctionné.

Les étapes étaient les suivantes:

  1. Aller au trousseau
  2. Verrouille le
  3. Archiver le code, reconstruire le projet
15
CODE

J'ai eu exactement la même erreur et j'ai tout essayé sous le soleil, y compris ce qui était ailleurs sur cette page, sans succès. Ce qui me posait problème, c’était que, dans Keychain Access, le certificat WWDR d’Apple était marqué «Toujours faire confiance». Il devait s'agir de "Valeurs système par défaut". Cela vaut également pour vos certificats de développement et de distribution. Si certains d'entre eux sont définis de manière incorrecte sur "Toujours faire confiance", cela peut apparemment provoquer ce problème.

Ainsi, dans Keychain Access, cliquez sur le certificat de l'autorité de certification Apple Worldwide Developer Relations, sélectionnez Obtenir des informations. Ensuite, développez les paramètres de confiance, et pour la liste déroulante de "Lorsque vous utilisez ce certificat:", choisissez "par défaut du système".

D'autres ont fait remarquer que vous deviez peut-être le faire dans Système et connexion porte-clés pour ces errors.

13
Nate

Il peut y avoir beaucoup de raisons quand vous obtenez ce genre d'erreur:

  1. Vérifiez si vous avez sélectionné un profil d'approvisionnement qui inclut l'identité Code Signing valide et un identificateur Bundle valide dans les paramètres. (Goto Build Settings-> Signing-> Provisioning Profile).

  2. Ouvrez Keychain Access et cliquez sur l'icône de verrouillage en haut à gauche pour verrouiller le trousseau de connexion puis cliquez à nouveau pour le déverrouiller.

 enter image description here

  1. Allez dans Fichier-> Paramètres du projet-> Données dérivées et supprimez le dossier de construction de votre projet. Après cela, nettoyez et construisez votre application.
7
Rahul Kumar

J'ai eu le même problème la construction de la distribution. C'est arrivé tout d'un coup. En fait, je n’avais pas ce problème il ya quelques jours et j’avais bien compilé ma version ad-hoc. Ce problème a été soulevé car mon certificat vient d’expirer aujourd’hui. Je suis donc allé créer un nouveau document provisoire en suivant les indications d’Apple: (http://developer.Apple.com/ios/manage/distribution/index.action). 

Après avoir passé des heures sur le net et m'être assuré que je n'étais pas tombée sous le charme de ce qui pourrait mal tourner. Voici ce qui me sauver comme suggéré par Tobias et Dan Ray:

  1. "... découvert que vous pouvez cliquer avec le bouton droit sur le message d'erreur dans Xcode pour afficher les détails".
  2. "... le problème était un certificat arrivé à expiration sur mon trousseau Système. Accès au trousseau ne montre pas, par défaut, les certificats expirés". 

Les informations détaillées m'ont parlé de la correspondance ambiguë de deux certificats. L'un d'entre eux est un certificat arrivé à expiration dans la chaîne de clés du système. J'ai donc supprimé celui qui a expiré, puis cela a fonctionné! Je me demandais également quoi entrer dans le "nom commun" lors de la création du certificat de distribution à l'aide de l'utilitaire de trousseau: mon nom ou le nom de ma société. Dans mon cas, j'ai inscrit mon nom. Je devine que c'est le même titre que le titre qui a été adressé par l'email du répondeur automatique du développeur. 

Grande aide. Merci.

6
Wayne Lo

Ce qui a fonctionné pour moi, c’est d’ajouter --deep à Autres drapeaux de signature de code dans les paramètres de construction . Plus d’informations ici: Le code d’API Dropbox échoue dans Xcode 4.6.3: "l’objet de code n’est pas signé du tout"

Malheureusement, cette condition d'erreur ambiguë a 400 solutions différentes, mais je m'éloigne du sujet.

2
Matt Montag

Si l'erreur précédant immédiatement l'erreur de code-code indique quelque chose comme "fourchette de ressources, informations du Finder ou détritus similaires non autorisés"

Ensuite, naviguez jusqu'au fichier .app dans Terminal et tapez:

xattr -cr <path_to_app_bundle>

ref: https://developer.Apple.com/library/content/qa/qa1940/_index.html

2
Fiach Reid

J'ai eu le même problème, mais aussi répertorié dans le journal des erreurs était ceci: CSSMERR_TP_CERT_NOT_VALID_YET

En regardant le certificat dans KeyChain a montré un message similaire. Le problème était dû au réglage incorrect de l'horloge système de mon Mac. Dès que j'ai défini la région/heure correcte, le certificat a été marqué comme valide et je pouvais créer et exécuter mon application sur l'iPhone.

1
MCP

Dans mon cas, l'erreur était due au fait que j'avais deux clés portant le même nom sur le trousseau. J'ai supprimé l'ancien et cela a résolu le problème.

Aller au message de détail me montre le vrai problème.

1
Jaume

Parfois, votre dossier de construction nécessite simplement un nettoyage - il a certainement fonctionné pour moi. Merci à loafer-project pour la solution.

1
Nanki

J'obtenais également cette erreur ("/ usr/bin/codesign a échoué avec le code de sortie 1") et lorsque j'ai regardé dans Keychain Access, mes certificats de développeur étaient marqués comme "Ce certificat a été signé par une autorité inconnue". Je venais de passer à Mac OS 10.8 et j'ai eu quelques autres problèmes avec XCode (4.5.2) depuis lors. Il s'avère que le certificat intermédiaire WWDR n'est pas installé. Je l'ai téléchargé à partir du portail de provisioning iOS, installé dans Keychain Access, et mon projet est à nouveau généré!

1
Chris Prince

Même problème avec ambigu (correspond aux fichiers "privatedata" de la bibliothèque de // tweetdeck de "iPhone Developer: [me]". Le problème a été corrigé en déplaçant le fichier dans la corbeille et en se reconnectant à Tweetdeck, reconstituant les mots de passe.

1
anna

après des heures passées à googler et à essayer différentes choses, voici ce qui m’a réglé:

  1. Assurez-vous qu'il n'y a pas de certificat dans l'onglet Système> Certificats sous Accès au trousseau. Supprimer tous les certificats en double à partir de là.

  2. Installez le certificat intermédiaire WWDR sous les certificats du portail d'approvisionnement, en plus des certificats de développeur et assurez-vous de le voir dans l'onglet Connexion> Certificats de Keychain Access.

espérons que cela aide certains d'entre vous!

1
a_s_

J'ai eu le même problème. Finalement, il s'est avéré que ma clé privée ne permettait pas à codesign d'y accéder. On peut le voir dans la boîte de dialogue d’informations dans l’application du trousseau. 

1
user312143

Quand j'ai eu cette erreur, je n'essayais même pas de signer l'application. J'écrivais une application de test et je n'aimais pas signer. Afin de me débarrasser de ce message, je devais sélectionner "Ne pas signer avec le code" dans les paramètres de construction sous Signature du code.

enter image description here

1
spfursich

Je suis d'accord avec Tobias. L'erreur est trop générique. Quand la même chose m'est arrivée, j'ai creusé dans le message d'erreur et réalisé que j'avais foiré quelque chose dans les propriétés de construction, mais pas la signature de code. Alors oui, je creuserais dans les détails. 

1
Rob Kelley

Une chose que vous voudrez surveiller (c’est une erreur stupide de ma part, mais cela arrive) est que l’adresse e-mail jointe à la CSR doit être identique à celle qui est connectée à votre compte Apple Dev. Une fois que j'ai utilisé un nouveau CSR et reconstruit tous les certificats et les profils de provisioning, tout allait bien à Appleville. 

0
Ash Menon

C'est une vieille question, mais il semble que cela arrive toujours. Une autre solution: 

Est arrivé pour moi après avoir rétabli une branche dans git. Essayé de nettoyer, de nettoyer les builds, de supprimer le code dérivé et de redémarrer Xcode, mais sans succès.

Essayez de redémarrer la composition.

0
Mars

Une des causes possibles est que vous n’avez pas l’autorisation d’écrire dans le répertoire de construction.

Solution: Supprimez tous les répertoires de construction du dossier de votre projet et reconstruisez votre application.

Une autre raison, Vérifiez que votre compte de développeur est connecté avec xCode

 enter image description here

0
Ofir Malachi

Après avoir jeté mes commentaires sur le ring, je suis tombé sur cette erreur après avoir tenté de rafraîchir mon environnement de développement après avoir cliqué accidentellement sur DENY sur l'une des demandes d'application. Après une recherche, j'ai trouvé un certain nombre de choses qui ne semblaient pas fonctionner. Voici l'ordre complet dans lequel j'ai essayé les correctifs et s'il y a eu un succès:

1) Tentative d'effacer les fichiers dérivés et de redémarrer le XCode - pas de dés

2) Tentative de journalisation et de déverrouillage du trousseau, puis redémarrage de XCode - pas de dés

3) Tentative d'actualiser mon compte de développeur dans XCode - pas de dés

4) Bit la balle et vient de réinitialiser mon trousseau entier, après mon compte de développeur a été déconnecté (reconnecté), puis redémarré XCode - pas de dés

5) Nous avons trouvé un article dans lequel il est indiqué que nous devons définir l’autorité de certification [login | local | System]/certificate/Apple Worldwide Developer Relations sur "Système par défaut". Mais dans mon cas, il était déjà réglé sur le système par défaut - pas de dés

6) Ensuite, j'ai regardé mon login de certificat de développeur/mes certificats/le développeur Mac: et lorsque j'ai regardé dedans, il était correctement réglé sur Confirmer avant d'autoriser l'accès MAIS il n'y avait pas d'entrées dans la section inférieure. Il devrait y avoir [Xcode, codesign, productbuild]. J'ai supprimé l'entrée du certificat et redémarré XCode - bingo

Le certificat a été ajouté et on m'a ensuite invité. Alors qu'est-ce que j'ai fait, j'ai appuyé sur "toujours autoriser" et ensuite je me suis désossé.

Je devais revenir en arrière et supprimer le certificat à nouveau, puis passer à travers environ 20 dialogues autoriser lors d'une génération propre. Une fois terminé, j'ai pu construire complètement.

0
kendavidson

J'ai eu la même erreur inconnue de codeigning que vous avez mentionnée. Semblable à la réponse fournie (mais un peu différente), je viens de verrouiller mon accès au trousseau et de le déverrouiller, et je pouvais créer et exécuter à nouveau mon appareil. Si quelqu'un a le même problème, essayez-le avant de modifier le mot de passe du trousseau.

0
sumit mehra

Je viens de rencontrer cette erreur et c'est parce que j'essayais d'écrire le fichier de construction sur un lecteur réseau qui ne fonctionnait pas. Essayé encore de mon bureau et cela a fonctionné très bien. (Vous devrez peut-être "nettoyer" la construction après l'avoir déplacée. Il suffit de choisir "Nettoyer toutes les cibles" dans le menu déroulant "Construire").

Tobias a cependant raison, indiquez les détails du code en cliquant dessus avec le bouton droit de la souris pour voir quel est votre problème spécifique.

0
Dancreek