web-dev-qa-db-fra.com

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

J'ai l'erreur suivante:

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

Voici ce que j'ai déjà fait pour essayer de résoudre ce problème:

  • définissez l'identificateur de paquet sur com.server.pgmname
  • définir le code de signature sur "Tout périphérique Iphone OS"
  • définir l'identité de signature de code sur mon identité de distribution.

L'erreur ne se produit que lorsque j'essaie de construire sur mon appareil, tout fonctionne correctement sur le simulateur.

Avez-vous des suggestions?

61
Daniel

J'ai eu exactement la même erreur et j'ai tout essayé sous le soleil, y compris ce qui était suggéré ailleurs sur cette page. Ce qui me posait problème, c’était que, dans Keychain Access, le certificat WWDR d’Apple était marqué comme "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 l'un d'entre eux est configuré de manière incorrecte sur "Toujours faire confiance", cela peut apparemment causer ce problème.

Ainsi, dans Keychain Access, cliquez sur le certificat Autorité de certification Apple Worldwide Developer Relations, puis sélectionnez _ {Obtenir des informations. Ensuite, développez les paramètres Confiance, et pour la zone de liste déroulante pour "Si vous utilisez ce certificat:", choisissez "Système par défaut".


Soupir: pour ceux qui insistent pour voter cette réponse, je ne prétends pas que ce soit la seule solution à ce problème. C'est un} solution. Cela ne fonctionnera peut-être pas pour vous. Il existe _ {multiples} _ raisons pour cet échec de codesign.

54
Nate

J'ai eu exactement le même problème et cela a fait l'affaire pour moi:

Xcode> Préférences> Comptes> Afficher les détails> Et actualisez simplement le profil de provisioning  

On dirait que les comptes dans Xcode n'ont pas été mis à jour avec les derniers profils de provisioning, alors une actualisation rapide résout ce problème.

30
mgm

Sentez le besoin de partager cela, même si c'est ridicule.

J'avais créé un deuxième compte développeur sur mon Mac et je ne pouvais rien coder. L'erreur était "l'utilisateur a annulé l'opération".

Un simple redémarrage a corrigé cela pour moi.

26
Chris Newman

Je me suis battu pendant environ 2-3 heures pour codifier un projet avec Parse API. Il s'est avéré que les frameworks intégrés posaient le problème. Assurez-vous de définir "Code de signature sur la copie" (voir illustration) . Si cela ne fonctionne pas, supprimez les frameworks Parse and Bolts de la liste et supprimez-les de votre projet, puis ajoutez-les à nouveau.

enter image description here

10
Teddy

Il suffit de résoudre ce même problème. J'avais créé un dossier de ressources contenant mes icônes, puis je l'avais ajouté à mon projet via un clic droit> Ajouter des fichiers> [dossier de sélection des ressources]. Apparemment c'est une mauvaise idée.

Au lieu de cela, créez un nouveau groupe dans votre projet (appelé "Ressources" dans mon cas), cliquez ensuite avec le bouton droit de la souris sur> ajouter des fichiers, puis choisissez les fichiers individuels. Projet construit immédiatement.

9
Psiloc

Ce qui a fonctionné pour moi a été de réaliser que Xcode n’avait pas accès aux certificats. Veuillez vérifier que vos certs sont accessibles par Xcode. Allez dans Accès trousseau -> Certificats -> Ouvrez le certificat et double-cliquez sur la clé privée -> Sélectionnez le contrôle d'accès

 enter image description here

6
Mat Zero

Pour moi, je viens de mettre à jour Xcode 8 et de convertir mon code Swift 2.2 en code Swift 3, et des erreurs se sont produites dans les tests unitaires et les tests d'interface utilisateur. Je viens de nettoyer et ensuite toutes les erreurs ont disparu.

6
Ace

Si vous rencontrez ce problème à l'avenir (qui ne souhaite pas reconstruire son projet), une question supplémentaire à poser est de savoir si vous avez un espace dans le nom de votre produit. Je vous recommande de parcourir vos propriétés (clic droit -> obtenir des informations) de votre projet et de votre cible. Pour mon projet, le seul endroit où un espace était nécessaire était dans la liste de sélection pour le nom d'affichage du paquet.

2
umop

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.

2
a_s_

La plupart des réponses vous diront que vous avez un certificat en double. C'est vrai pour mon cas, mais les réponses laissaient de côté comment le faire.

Pour moi, mon compte a expiré et je dois obtenir un nouveau certificat et l'installer. Ensuite, j'ai regardé Keychain et j'ai retiré le certificat expiré, mais j'ai quand même eu l'erreur. Ce qui fonctionne pour moi, c'est la recherche d'un "iPhone" dans Keychain et la suppression de tous les certificats expirés. Apparemment, certaines d'entre elles n'apparaissent pas dans Système/Certificats ou Login/Certificats.

J'espère que cela t'aides!

1
okysabeni

Certaines des réponses ci-dessus font allusion au problème mais ne précisent pas clairement les étapes pour le corriger. 

Voici ma tentative après que cela devienne super frustrant, ce qui semble avoir fonctionné pour moi jusqu'à présent: 

Le problème est dû au fait qu'il existe des certificats en double dans votre portail de développeur Apple ou potentiellement dans votre ordinateur. Cela n'a eu aucune conséquence négative et cela a fonctionné jusqu'à présent. 

  1. Fermez Xcode! 

  2. Vous devez supprimer les certificats existants de votre compte développeur Visiter: https://developer.Apple.com/account/ios/certificate/development/ Et sélectionner un compte de développement (il doit y avoir plusieurs certs) J'ai révoqué chacun en cliquant dessus et en sélectionnant révoquer.

 select development certs

2.remove certs de votre trousseau sur votre Mac

  • Ouvrez l'application du trousseau en appuyant sur le trèfle + espace et en tapant le trousseau
    et en appuyant sur Entrée 
  • Rechercher dans le coin supérieur droit pour "developer" 
  • Sélectionnez les clés en double potentielles et exportez/supprimez-les afin qu'elles ne soient pas dans la liste.

 search by developer

  1. Enfin, régénérez vos certificats en XCode et redémarrez

    • Rouvrir xcode 
    • régénérer un nouveau certificat en allant au projet -> Général -> Signature 
    • resélectionnez votre "compte d'équipe"

 signing setup

  • un nouveau certificat devrait être généré 
  • Redémarrez pour faire bonne mesure - et appréciez être exempt de ce bogue (qu'Apple devrait vraiment régler, s'il était possible de le répliquer facilement)
1
Mobile Bloke

J'ai eu cette erreur la toute première fois que j'ai essayé de créer un profil de provisioning en suivant l'assistant de provisioning et que, finalement, ils ne mentionnent pas le WWDR Intermediate Certificate. Je l'ai installé et cela a bien fonctionné pour moi.

1
Michail Nenkov

Très souvent, l'erreur /usr/bin/codesign failed with exit code 1 s'est produite au cas où l'utilisateur n'aurait aucune extension de fichier pour les fichiers de texture dans le dossier Models.scnassets. macOS génère très souvent des fichiers avec des extensions cachées.

Par exemple: vous avez un fichier myTexture mais il doit également inclure une extension - myTexture.png.

1
ARGeo

Voici ma façon de résoudre:

  • Ouvrir un accès au trousseau, sélectionnez votre certificat iOS, Supprimer la clé privée
  • Ensuite, retournez à xCode, vous verrez un message d'avertissement et le bouton "Revoke", cliquez dessus et l'erreur résolue.
1
Duy Chung

J'ai eu le même problème et je ne pouvais pas le comprendre pendant longtemps. J'ai tout essayé sur cette page et d'autres et cela n'a toujours pas fonctionné. Mais finalement, j'ai trouvé une solution.

Pour que cela fonctionne, assurez-vous que Xcode n'est pas en cours d'exécution. Après avoir fermé Xcode, ouvrez Terminal et tapez la commande:

xattr -rc /[The File Directory of your project found in the File Inspector of your .xcodeproj file in Xcode]/

Évidemment, ne mettez pas le texte entre parenthèses, mais remplacez-le par ce qu'il dit. Appuyez sur Entrée. Ne vous inquiétez pas si rien n’apparaît en dessous de la commande, ce n’est pas le cas pour moi. Après cela, vous pouvez fermer le terminal et ouvrir Xcode. Maintenant tout devrait bien se passer. Remarque: L'exécution de votre projet peut prendre un peu plus longtemps, mais attendez simplement.

Notez également: Ne cognez pas cette réponse car cela ne fonctionne pas. C’est une façon de résoudre ce problème qui a fonctionné pour moi, mais cela pourrait ne pas fonctionner pour vous car vous pourriez avoir autre chose qui est cassé.

1
Adalex3

Dans mon cas, j'avais un certificat de distribution supplémentaire expiré dans mon trousseau. J'ai supprimé le certificat de KeyChain Access et la compilation a recommencé à fonctionner. 

1
Zorayr

J'avais des caractères spéciaux dans le nom du projet, le renommer pour supprimer les caractères, les points d'interrogation et l'assurance qu'un certificat de développeur était activé a résolu le problème.

0
Michael Way

Pour moi le problème était le proxy HTTP

0
Mugen

Voici comment j'ai résolu le même problème. Cela peut aider quelqu'un.

J'ai supprimé le profil de fournisseur de services de développement (que j'utilisais) du serveur, puis j'en ai créé un avec un nom légèrement différent… .. Je l'ai utilisé et tout a fonctionné.

0
Michel

Dans Xcode: Accédez à Préférences Déconnexion de l'utilisateur actuel.

Fermer Xcode

Dans le trousseau: aller à la connexion et tous les articles

            - Sort by kind
                 - remove "Apple Worldwide Developer Relation Certification Authority"
                 - remove "Developer ID Certification Authority"
                 - remove "iPhone Developer ...."

Ouvrir Xcode

Allez dans Préférences et connectez-vous à votre compte utilisateur Apple

- This will reload your developer certificates you previous deleted 

Reconstruire le projet (devrait être une construction réussie)

Exécuter la construction sur votre appareil natif

0
Val

J'ai eu récemment le même problème .. Keychain Access était le coupable.

Étapes: Go -> Utilitaires -> Accès au trousseau Accès au trousseau: Édition -> Modifier le mot de passe du trousseau "login"

Changer le mot de passe. Fermez et rouvrez Xcode, nettoyez et construisez à nouveau.

Si l'option - Changer le mot de passe pour le trousseau "login" - est grisée:

  1. Assurez-vous que sous Trousseaux sélectionné -> connexion et que l'icône du cadenas est ouverte. Pour ouvrir le cadenas, vous avez besoin du mot de passe du trousseau. Si vous ne connaissez pas le mot de passe, passez à l'étape 2.

  2. Avec cadenas déverrouillé et toujours l'option est grisée . En dernier recours: Accès au trousseau -> Préférences Préférences: Cependant, soyez prudent, car les trousseaux de clés stockés seront supprimés et vous pourrez également vous reconnecter sur d'autres appareils connectés.

0
Yashaswini Bhat

Lorsque j'ai rencontré cette erreur, c'était parce que j'avais été dans Keychain Access , et que j'avais choisi'Disallow'lorsqu'il m'a demandé si je voulais laisser au programme un mot de passe enregistré. Revenir dans et sélectionner'Autoriser'et taper mon mot de passe système ont résolu le problème en XCode.

0
Just so terrible

J'ai essayé la plupart des solutions ici et ce qui m'a aidé à nettoyer le dossier de construction dans XCode en utilisant: Produit -> Nettoyer et reconstruire le projet

0
Yona

Une réponse très simple à cette question très compliquée. Cela n'implique aucune connaissance de la signature de code et de tout ce qui y est lié.

Prenez une ancienne application dont vous n'avez plus besoin. Assurez-vous que cela fonctionne, puis remplacez son code par celui de la nouvelle application présentant l'erreur de signature de code. L'ancienne application devrait maintenant fonctionner correctement, en réalisant ce que vous vouliez avec la nouvelle application.

Seul inconvénient: l'application de travail a le titre de l'ancienne.

0
mbs31

Étapes pour résoudre ce problème:

  1. Accédez à Accès par chaîne de clés.
    1. Sélectionnez le certificat i-Phone Developer.
    2. Verrouiller le certificat (barre de menus - bouton de verrouillage)
    3. Donnez le mot de passe de la machine.
    4. Déverrouiller le certificat.

Maintenant, nettoyez et reconstruisez le projet, ce problème sera résolu.

0
Kiran Sk

La solution qui a fonctionné pour moi est liée (à mon avis, à un changement de comportement du chemin après la mise à niveau vers Xcode 4.2):

Vous ne pouvez plus entrer manuellement «armv6 armv7», mais vous devez entrer $ (VALID_ARCHS) à la place pour les champs Architectures et Architectures valides dans la section Architectures du volet Paramètres de construction de votre projet. Xcode remplacera automatiquement la déclaration par 'armv6 armv7'.

Cette chaîne a exactement la même apparence que si vous l’aviez tapée manuellement, tout en indiquant les chemins corrects qui seront générés avec votre construction, ... ou du moins, c’est ce que je pense: P

Sans lien de parenté, nous avions auparavant "armv6 armv7" sous Other Signing Flags et l’avons maintenant retiré et tout fonctionne correctement. Cela doit être juste un extra.

Merci et bon piratage . Gon

0
Gon Zifroni

Si quelqu'un utilise Xcode ver. 3.x.x et mises à niveau de Mac OS 10.7 à 10.8, dev. les outils fonctionneront parfaitement, à l'exception du nouveau fichier binaire CodeSign. Pour résoudre ce problème, il suffit de copier les fichiers binaires codesign et codesign_allocate (j'espère que vous avez une sauvegarde) dans/usr/bin/et de renommer ou de sauvegarder le nouveau.

0
Serbian

Si vous utilisez phonegap/cordova:

C’est ce que j’ai reçu lors de la construction de Cordova mais la solution pour moi était beaucoup plus simple. Un problème d'autorisations. 

Il suffit de définir les fichiers pour corriger les autorisations

chmod -R 774 ./projectfolder

Et puis définir la propriété 

chown -R youraccname:staff ./projectfolder 
0
el_nariz

Une solution supplémentaire fonctionne avec moi. Si vous avez installé deux versions de XCode et que vous installez la seconde sans désinstaller la première dans le même répertoire (/ Developer /), vous vous êtes trompé. La solution qui fonctionne pour moi était la suivante:

1 - Désinstallez la version actuelle de Xcode avec la commande Sudo/Developer/Library/uninstall-devtools --mode = all.

2 - Installez la première version de Xcode que vous avez eue en premier.

3 - Encore une fois Sudo/Developer/Library/uninstall-devtools --mode = all.

4 - Ensuite, tout est propre et vous pouvez installer la version de votre choix.

Plus de choses: vous devez peut-être redémarrer l'ordinateur après avoir installé le Xcode ou même (dans certains cas) installer deux fois le Xcode.

J'espère que ça marche ça me prend beaucoup de temps pour le savoir, bonne chance !!!

0
Gustavo

Ce problème m’était arrivé lorsque j’avais plusieurs cibles dans un projet et que je changeais la propriété CFBundleExecutable plist en un nom autre que le nom de la cible.

Ainsi, par exemple, j'ai eu les objectifs suivants dans un projet:

  • SomeApp 
  • SomeApp WatchKit Extension 
  • SomeApp WatchKit App 
  • SomeApp Today Widget
  • SomeApp pour OS X (c'est la cible où l'erreur de codesign se produit)

SomeApp for OS X avait sa propriété CFBundleExecutable définie sur SomeApp, qui non seulement était en conflit avec la première cible appelée SomeApp mais était différente de la cible pour laquelle elle était destinée. Changer SomeApp pour OS X en SomeApp puis renommer la première cible a bien fonctionné pour moi.

0
Kane Cheshire

Ce problème s'est produit lorsque j'ai ajouté un dossier nommé "Ressources" en tant que "Créer des références de dossier" et lorsque j'ai renommé "Ressources" en un autre nom aléatoire, ce problème a disparu. 

J'espère que ça va aider.

0
GrumpyMelon

Essayez de trouver les détails de cette erreur dans la vue "Résultats de la construction" où l'erreur est affichée. Sur le côté droit de la ligne avec le message d'erreur, il y a une icône avec plusieurs lignes. Cela vous montrera quelques détails utiles.

Ainsi, j'ai découvert pour moi qu'il s'agissait d'un duplicata du certificat de développeur iPhone dans mon trousseau, dont l'un avait expiré. Peut-être recherchez-vous "iphone" dans votre trousseau (sélectionnez d'abord la catégorie "Tous les objets").

0
Rocco

J'ai passé des heures à résoudre le problème, c'est une erreur très générique due à xcode. Un de mes frameworks échouait avec la signature de codes sur l'un des ordinateurs portables avec l'erreur ci-dessous:

XYZ.framework : unknown error -1=ffffffffffffffff

Command /usr/bin/codesign failed with exit code 1

Cependant, aucun code n'est défini pour ce cadre et il échoue quand même avec une erreur de code.

Voici la réponse: 

J'ai généré un nouveau certificat de développement (avec une nouvelle clé privée) et installé sur mon nouveau Mac.

cette erreur ne concerne pas XYZ.frameowrk. En gros, codesign a échoué lors de l'archivage car nous avons récemment créé un certificat qui demande "codesign wants to sign using key "my account Name" in your keychain" et les boutons Always Allow, Deny and Allow.

Le problème était que je ne l'ai jamais accepté. Une fois que j'ai cliqué sur Autoriser. Cela a commencé à fonctionner.

J'espère que cela t'aides.

0
Kiran S

Tout ce que je devais faire était de désactiver la signature automatique, puis de la réactiver et de choisir l'identité de mon équipe. Et ça a marché!

0
Ahmed Khalaf

Pour moi cela a fonctionné en faisant comme suit:

  1. supprimer tous les certificats de développement existants dans "login"

  2. puis allez dans un projet xcode -> allez dans une cible -> Général -> sélectionnez une équipe.

  3. une fois que vous avez sélectionné cette option, suivez simplement ce qui apparaîtra ci-dessous (essayez à nouveau le bouton, etc.) À la fin, vous devez fournir votre mot de passe de "connexion".

Après "3." vous verrez dans votre trousseau de "connexion" les nouveaux certificats et également pour moi plus d'erreur de signature de code.

0
Stoica Mircea

Pour moi, la couverture de code était activée sur le schéma d'un framework plutôt que sur le schéma de test correspondant. La désactivation de la couverture de code a réglé le problème.

0
Mills

Je suis allé à Key Access, j'ai sélectionné la clé privée et ajouté XCode à la liste des applications pouvant y accéder. Cela a fonctionné pour moi

0
Ben Burnett