web-dev-qa-db-fra.com

Xcode 8 ne peut pas archiver "La commande / usr / bin / codesign a échoué avec le code de sortie 1"

J'ai un sérieux problème sur Xcode 8 sur macOS Sierra. lorsque j'essaie de créer mon application, j'obtiens le problème suivant.

CodeSign /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app
cd /Users/me/Desktop/MyAppFolder1/MyAppFolder2/MyAppxcode
export CODESIGN_ALLOCATE=/Users/me/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Users/me/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Users/me/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "-"

/usr/bin/codesign --force --sign - --timestamp=none /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app

/Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

alors j'ai fait https://forums.developer.Apple.com/thread/48905 dans le terminal comme suit et cela a fonctionné. mais une fois que j'ai nettoyé, le problème revient.

cd /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Products/Debug-iphonesimulator/MyApp

ls -al@ *

xattr -c *

et cette solution ne fonctionne pas pour archive avec le problème suivant. y a-t-il une solution pour cela?

CodeSign /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app
cd /Users/me/Desktop/MyAppFolder1/MyAppFolder2/MyAppxcode
export CODESIGN_ALLOCATE=/Users/me/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
export PATH="/Users/me/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Users/me/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Developer: My Name (**********)"
Provisioning Profile: "iOS Team Provisioning Profile: com.**********.*********"
                  (********-****-****-****-************)

/usr/bin/codesign --force --sign **************************************** --entitlements /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/MyApp.build/Release-iphoneos/MyApp.build/MyApp.app.xcent --timestamp=none /Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app

/Users/me/Library/Developer/Xcode/DerivedData/MyApp-gnoiiwnelmxzdidnijaswisrwdqe/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1
45
Kee

J'ai trouvé cette solution dans le forum Apple

cd ~/Library/Developer/Xcode/DerivedData
xattr -rc .

ou

xattr -rc ~/Library/Developer/Xcode/DerivedData
109
DevManny

Solution 1:

Vous pouvez essayer une commande bash spécifique à un fichier, comme l'a répondu Mark McCorkle.

Dans terminal, allez dans le répertoire racine du projet et exécutez les commandes une à une.

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.tif' -exec xattr -c {} \;

Nettoyer Xcode et Re Build. Terminé.

Solution 2:

Vous pouvez résoudre ce problème en recherchant des fichiers contenant des informations sur le Finder.

Dans le terminal, allez au répertoire racine du projet et exécutez-le.

ls -alR@ . > kundapura.txt

Cela crée kundapura.txt dans le répertoire actuel. Maintenant, recherchez com.Apple.FinderInfo et effacez ces attributs pour tous les fichiers. Tu peux le faire comme ça

xattr -c <filename>
Example: xattr -c guru.png

Une fois que vous avez tout effacé, vous pouvez coder le signe. À votre santé

21
Sunil aruru

Pour moi a travaillé ceci:

cd ~/Library/Developer/Xcode/DerivedData
xattr -dr com.Apple.FinderInfo *

Et puis reconstruire

12
Gianluca

Il existe un correctif plus permanent pour cela. Corriger les attributs dans DerivedData fonctionne, mais le problème revient sans cesse. Ce que vous devez faire est d'aller dans le répertoire indiqué lorsque vous obtenez le 'fichier de ressources, les informations du Finder ou des détritus similaires non autorisés', celui qui contient le fichier .App. Alors exécutez ...

xattr -lr MyAppName.App

Vous pouvez ensuite voir les fichiers de ressources ayant les attributs à supprimer. Ne les supprimez pas du fichier .App, recherchez les fichiers d'origine dans votre projet, ouvrez le répertoire qui les contient et exécutez ...

xattr -rc.

Cela corrige ensuite les fichiers ORIGINAL. La reconstruction devrait alors fonctionner correctement. Il convient également de reconstruire correctement pour l'archive également.

9
raeldor

Cela est dû au fait que certains fichiers de ressources ont des attributs supplémentaires sur le système de fichiers, probablement à cause de macOS Sierra (comme je l’ai commencé après la mise à niveau vers macOS Sierra).

Essayez d’exécuter xattr -c * sur l'ensemble du dossier DerivedData (comme indiqué par la réponse dans https://forums.developer.Apple.com/message/178039#178039 ):

cd ~/Library/Developer/Xcode/DerivedData
xattr -c *

La suppression d'attributs uniquement sur le dossier de construction a résolu le problème pour moi lors du débogage. La suppression d'attributs sur l'ensemble du dossier DerivedData l'a corrigé également pour l'archivage. Veuillez noter que cela peut avoir d'autres conséquences (bien que très peu probable), mais vous pouvez toujours supprimer le dossier DerivedData et il sera régénéré, au cas où quelque chose se briserait.

De même, s'il échoue toujours, nettoyer le projet ( et non le dossier de construction) après avoir exécuté la commande est une bonne idée.

6
Can Poyrazoğlu

J'ai eu ce problème avec un fichier de bundle CocoaPods. J'ai mis à jour CocoaPods avec la dernière version et lance:

pod install

après cela, le problème a disparu.

4
Andrew Romanov

dans mon cas, le problème était avec les profils de provisioning et le compte, j'ai résolu en procédant comme suit:

  1. Préférences Xcode -> Comptes-> Supprimer le compte déjà ajouté et l'ajouter à nouveau
  2. Générer de nouveaux profils de provisioning et les installer dans Xcode
  3. nettoyer le projet et le reconstruire
3
Spydy

Je veux montrer ma réponse parce que cela peut être intéressant (j'ai perdu beaucoup de temps avec cette erreur)

Error screenshot

Aucune des réponses précédentes (qui ont un score élevé) ne m'a été utile.

Ils ont peut-être raison, mais ils n'ont pas résolu mon problème.

Origine:

J'ai ajouté une nouvelle cible à mon application iOS: iMessage

Quand j'ai ajouté des images png aux actifs. xcassets, l'erreur est survenue.

Solution:

Faites une copie des images png avec "Apple Preview App" et décochez Alpha.

Preview App screenshot

Le message d'erreur disparaît.

Preview App screenshot

2
Markus

Parfois, même si vous avez corrigé et/ou fait exécuter correctement la signature de code, le problème peut se cacher dans les packages tiers.

Si vous vérifiez de près votre erreur de génération, vous pouvez trouver le nom des bibliothèques tierces dans le message d'erreur.

Dans ce cas, vous devez reconstruire vos bibliothèques tierces. Par exemple dans mon cas, mettez-le à jour via carthage update et maintenant la construction a réussi correctement.

0
Blaszard

Dans mon cas,

Aller à

  • Préférence Xcode

  • Emplacements

  • Cliquez sur la flèche du chemin du projet

  • Dans le dossier DerivedData, recherchez le nom de votre projet.

  • Sélectionner le dossier du projet, cliquer avec le bouton droit de la souris et déplacer vers la corbeille

Terminé!

0
Gajendra K Chauhan

J'ai rencontré cette erreur sur macOS Sierra 10.12.3, Xcode 8.2. La correction de DerivedData n'a pas fonctionné pour moi.

Après avoir supprimé un certificat expiré autorité de certification Apple Worldwide Developer Relations dans accès au troussea, l'erreur est disparue.

0
Lars Behnke