302 votes

Erreur de signe de code dans macOS High Sierra Xcode: fourchette des ressources, informations sur le Finder ou détritus similaires non autorisés

Déjà essayé : Signe Code d'Erreur sur macOS Sierra, Xcode 8

Veuillez voir l'image montre l'erreur enter image description here

CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
    cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
                      (c6c30d2a-1025-4a23-8d12-1863ff684a05)

    /usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app

/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

Dans le Code Signer la section de ses en me permettant de sélectionner le profil et le certificat...mais en donnant toujours l'erreur. enter image description here

enter image description here

Comment résoudre ce problème ?

667voto

Gururaj.T Points 9068

Solution 1:

Apple Developer Site Répond problème ci-dessus Ici.

Exécuter la commande ci-dessous dans le terminal : Première goto projets dossier racine

 xattr -cr <path_to_app_bundle>

Nettoyer Xcode et Re Construire. Cheers

Solution 2:

Vous pouvez résoudre ce problème en trouvant des fichiers qui détient des informations du finder.

Dans le terminal, allez dans répertoire racine du projet et de l'exécuter

ls -alR@ . > kundapura.txt

Cela crée kundapura.txt dans le répertoire courant. Maintenant, cherchez com.apple.FinderInfo clairement les attributs de tous les fichiers. Vous pouvez le faire comme ceci

xattr -c <filename>

Exemple: xattr -c guru.png

Une fois que vous désactivez tous les code signe œuvres. Nettoyer Xcode et Re Construire. Cheers

Solution 3: Inspiré par la Marque de McCorkle Réponse

Dans le terminal, goto racine du projet de répertoire et exécuter une par une commande

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

Nettoyer Xcode et Re Construire. Fait.

182voto

DCGoD Points 2848

L'erreur provient d'attributs à l'intérieur de vos fichiers image. Notre graphiste a enregistré cela en enregistrant des images de Photoshop avec des attributs.

Voici une commande simple pour trouver tous vos fichiers png et supprimer leurs attributs. Exécutez ceci dans le répertoire racine de vos projets à partir du terminal. Nettoyer et reconstruire; problème résolu.

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

105voto

Arnold Roa Points 563

Si vous avez ce message d'erreur lorsque codesigning d'une application:

fourchette des ressources, informations du Finder, ou d'autres détritus pas permis La commande /usr/bin/codesign a échoué avec le code de sortie 1

Allez dans votre dossier racine du projet et de l'exécuter

find . | xargs -0 xattr -c

Cela permettra d'effacer les attributs de tous les fichiers.

Dans la Sierra, les règles sur ce qui peut être signée bundle ont été renforcées, et les resource forks ne sont plus autorisés. AppleScript a été l'enregistrement d'informations dans les resource forks pour toujours, bien que l'information n'a pas été utilisé pendant une longue période. Avec la Sierra, lorsque vous enregistrez un script, cette fourchette de ressource d'informations ne pourront plus être sauvés.

Cela signifie que vous ne peut pas dessiner un script qui a été enregistré pour la dernière fois dans une version avant de la Sierra; vous devez l'enregistrer dans la Sierra pour être en mesure de signer dans la Sierra.

Les personnes susceptibles d'être affectées par sont qui bundle d'autres scripts à l'intérieur de leurs scripts (cordova?). Ils ne seront pas en mesure de signer le conteneur script jusqu'à ce que tous les scripts intégrés ont été enregistrées en vertu de la Sierra.

Mise à JOUR:

Semble que cela fonctionne aussi:

xattr -rc .

Si vous avez des autorisations insuffisantes erreur, essayez de la faire précéder de sudo: sudo xattr -rc .

24voto

comrade Points 2812

Il est officiel Apple réponse à cette question dans la Technique Q&A QA1940.

C'est un renforcement de la sécurité de changement qui a été introduite avec iOS 10, macOS Sierra, watchOS 3, et tvOS 10.

De signature de Code ne permet plus de n'importe quel fichier dans une application bundle pour avoir un attribut étendu contenant une fourchette de ressource ou le Finder info.

Pour voir les fichiers qui sont à l'origine de cette erreur, exécutez cette commande dans Terminal: xattr -lr <path_to_app_bundle>

Vous pouvez également supprimer tous les attributs étendus à partir de votre application bundle avec le xattr commande: xattr -cr <path_to_app_bundle>

<path_to_app_bundle> peut être remplacé par le répertoire de votre projet Xcode. Par exemple ~/Development/MyProject

17voto

ingconti Points 405

Tout à propos de compensation des fichiers est très bien, mais pénible pour plusieurs projets.

graphiques des applications, (comme photoshop dans les anciennes versions) écrire des informations supplémentaires (nous l'appelons maintenant des métadonnées..) dans une ancienne la mode dans des fichiers externes, ou ils sont venus frm âgées OSX, comme les fichiers:

"com.apple.ResourceFork" et "com.apple.FinderInfo", lors de la décompression des fichiers d'un dossier, par exemple.

Xcode 8 refuse pour l'ajouter à un build (que Vous avez ajouté à un projet avec un "git --ajouter ." peut-être...) Vous pouvez trouver dans le terminal de manière récursive et de les supprimer, mais peut être fastidieux.

J'ai écrit un petit utilitaire gratuit pour le supprimer.. j'espère que ça peut aider..

https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X