Erreur de signe de Code dans macOS High Sierra Xcode-fourchette de ressources, Informations du Finder ou détritus similaires non autorisés
Déjà essayé: Erreur de signe de Code sur macOS Sierra, Xcode 8
Veuillez voir l'image montrant l'erreur
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 la section Code Sign, cela me permet de sélectionner le profil et le certificat...mais toujours donner l'erreur.
Comment résoudre ce problème ?
21 réponses
Solution 1:
Le Site Web du développeur D'Apple répond au problème ci-dessus ici.
Exécuter la commande ci-dessous dans le terminal: premier dossier racine des projets Goto
xattr -cr <path_to_app_bundle>
Nettoyer Xcode et reconstruire. Cheers
Solution 2:
Vous pouvez résoudre ce problème en trouvant des fichiers contenant des informations du finder.
Dans le terminal, accédez au répertoire racine du projet et exécutez
ls -alR@ . > kundapura.txt
Cela crée kundapura.txt dans le répertoire courant. Maintenant, recherche pour COM.Apple.FinderInfo et effacer ces attributs pour tous les fichiers. Vous pouvez le faire comme ceci
xattr -c <filename>
Exemple: xattr -c guru.png
Une fois que vous avez tout effacé, le signe de code fonctionne. Nettoyer Xcode et re construire. Cheers
Solution 3: inspiré par la réponse de Mark McCorkle
Dans le terminal, accédez au répertoire racine du projet et exécutez 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 reconstruire. Faire.
L'erreur provient d'attributs à l'intérieur de vos fichiers image. Cela est arrivé de notre concepteur graphique enregistrer 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 {} \;
Si vous avez cette erreur lors de la conception de code d'une application:
Fourche de ressources, Informations du Finder ou détritus similaires non autorisés La commande / usr / bin / codesign a échoué avec le code de sortie 1
Accédez au dossier racine de votre projet et exécutez
find . | xargs -0 xattr -c
Cela effacera les attributs pour tous les fichiers.
Dans Sierra, les règles sur ce qui peut être dans un bundle signé ont été resserrées et les fourches de ressources ne sont plus autorisées. AppleScript a enregistré des informations dans la ressource forks pour toujours, bien que cette information soit inutilisée depuis longtemps. Avec Sierra, lorsque vous enregistrez un script, ces informations de fourchette de ressources ne seront plus enregistrées.
Cela signifie que vous ne pouvez pas codesign un script qui a été enregistré pour la dernière fois dans une version avant Sierra; vous devez enregistrer dans Sierra pour pouvoir vous connecter à Sierra.
Les personnes susceptibles d'être touchées par sont qui regroupent d'Autres scripts dans leurs scripts (cordova?). Ils ne seront pas en mesure de signer le script de conteneur jusqu'à ce que tous les les scripts intégrés ont été réenregistrés Sous Sierra.
Mise à jour:
Semble que cela fonctionne aussi:
xattr -rc .
Si vous avez une erreur d'autorisation insuffisante, essayez de préfixer sudo: sudo xattr -rc .
Il y a une réponse officielle D'Apple pour ce problème dans Q & A technique QA1940 .
Ceci est un changement de durcissement de la sécurité qui a été introduit avec iOS 10, macOS Sierra, watchOS 3 et tvOS 10.
La signature de Code ne permet plus à un fichier d'un ensemble d'applications d'avoir un attribut étendu contenant une information de fork ou de Finder de ressource.
Pour voir quels fichiers sont à l'origine de cette erreur, exécutez cette commande dans Terminal:
xattr -lr <path_to_app_bundle>
Vous pouvez également supprimer tous attributs étendus de votre ensemble d'applications avec la commande xattr:
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
Tout sur l'effacement des fichiers est bien, mais fastidieux pour plusieurs projets.
Applications graphiques, (comme photoshop dans les anciennes versions) écrire des informations supplémentaires (nous appelons maintenant les métadonnées..) à l'ancienne dans les fichiers externes, ou ils sont venus FRM ancien OSX, des fichiers comme:
"com.Apple.ResourceFork " et " com.Apple.FinderInfo", lors de la décompression du dossier, par exemple.
Xcode 8 refuse de l'ajouter à une construction (comme vous les avez ajoutés à un projet avec un " git --add ."peut-être..) Vous pouvez trouver dans terminal récursivement et les supprimer, mais peut être fastidieux.
J'ai écrit un petit utilitaire gratuit pour l'effacer.. j'espère que ça peut aider..
Https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12
La façon la plus simple de gérer les attributs sur vos fichiers source est D'avoir Xcode effacer l'archive avant qu'elle ne s'exécute codesign. Pour ce faire:
- Sélectionnez votre cible dans XCode
- Sélectionnez L'onglet phases de construction
- Appuyez sur le symbole +
- Sélectionner Une Nouvelle Phase De Script D'Exécution
-
Entrez ce qui suit pour le script:
Xattr -cr ~/Bibliothèque/Développeur/Xcode/DerivedData || echo Clear
Maintenant, lorsque vous construisez votre cible, il effacera tout attributs qui auraient brisé codesign. En effaçant à ce stade, vous n'avez pas à modifier votre répertoire de code source / projet.
La partie "/ / echo Clear " du script garantit que la construction du projet se poursuit même en cas d'erreurs xattr.
Cette méthode est bonne si vous utilisez des programmes tels que DropBox sur votre référentiel de code qui ajoutent les attributs, car cela ne change pas votre projet source, seulement l'archive construite.
Vous devrez peut-être changer le chemin pour correspondre à votre Répertoire DerivedData - ce chemin sera affiché à côté de l'erreur codesign.
Solution Simple: -
Comment j'ai fait [de Travail pour moi]
Étape 1:- Allez dans ce dossier - à partir de votre finder, appuyez sur option Go - > aller au dossier
Puis tapez votre chemin de projet comme ceci exemple:- Bibliothèque/Développeur/Xcode/DerivedData/yourprojectname/Construction/Produits/Debug-iphoneos
Maintenant, vous pouvez voir une fenêtre avec la liste des Fichiers disponibles, Là, vous voyez yourApp.fichier d'application [ne faites rien, attendez l'étape 2].
Étape 2:- Ouvrez un nouveau Terminal et tapez juste cd puis faites glisser l'étape 1 yourApp.app à terminal, maintenant vous obtiendrez le chemin pour l'application, maintenant appuyez sur le bouton Entrée.
Étape 3:- Maintenant, tapez cette commande **
Xattr-rc .
Ne manquez pas "."(Point) appuyez sur le bouton enter.
Voilà, allez dans votre projet Xcode et nettoyez et exécutez à nouveau.
Pour ceux (comme moi) qui essaient simplement de développer une application sans avoir à supprimer les attributs étendus sur chaque nouveau PNG créé par photoshop ajouté à la cible macOS, vous pouvez désactiver temporairement la signature de code en ajoutant un paramètre de construction défini par l'utilisateur:
CODE_SIGNING_ALLOWED = No
Évidemment, on distribue une application doit éventuellement traiter le problème, mais cela permet le développement dans des cas comme le mien où il n'était pas nécessairement simple d'omettre la signature de code dans Sierra (sur OS X / Xcode passé, c'était plus facile à faire).
Par commentaire de RGriffith, voici quelques captures d'écran pour ceux qui ne savent pas comment le paramètre de construction personnalisé est ajouté.
J'ai utilisé la commande suivante. Utiliser la fenêtre du terminal. Accédez à votre projet et exécutez ce qui suit:
xattr -rc .
-----dans le cas où vous ne pouvez pas appliquer les solutions ci-dessus, en raison du manque de connaissances bash ou autre chose.
J'ai eu ce problème dès que j'ai activé iCloud Drive sur ma Sierra. Et mon projet était dans un dossier qui a été synchronisé avec iCloud Drive. Je suppose que c'est ce qui ajoute ces attributs supplémentaires.
Solution Temporaire:
Désactivez iCloud Drive pour le dossier où se trouve votre projet.
Vous devrez supprimer le dossier app bundle et reconstruire l'application comme expliqué ci-dessous.
Mon application s'appelle: augment
Dans la fenêtre du terminal, accédez au dossier de votre application par exemple: cd /Utilisateurs/nom_utilisateur/Bibliothèque/Développeur/Xcode/DerivedData/
Dans la fenêtre du terminal, exécutez la commande pour votre dossier d'application par exemple: xattr -cr augmenter-flmbiciuyuwaomgdvhulunibwrms
Nettoyer > Construire>Exécuter.
Il y a aussi une application gratuite sur Mac Appstore appelé "CleanDetritus" qui fera la suppression de ils.
Ce problème m'est venu hier.
(What's wrong)
j'ai mis à jour les ressources d'image en remplaçant manuellement le fichier dans le finder et j'ai échoué avec cette erreur de compilation.
(What's right)
Ne mettez pas à jour l'image de cette façon. Après cela, j'ai traîné des images vers 'xcassets' dans Xcode. Pas plus d'erreur s'affiche à nouveau.
Le problème est dans les données dérivées, vous devez nettoyer les données dérivées, puis nettoyer le projet et construire. Veuillez vérifier ce lien.
Mon problème est chaque changement que je fais dans le code et exécute à nouveau l'erreur réapparaît. Ensuite, je trouve une solution pour exécuter la commande automatiquement chaque compilation / exécution de code.
Merci à @ rich-able j'ai découvert "Run Script". Ensuite, je mets la commande " xattr-cr ."dans le domaine.
L'une des meilleures solutions est Aller au terminal tapez ceci
xattr -cr "Full path of your project"
Pour trouver le chemin complet de votre clic droit sur Xcode project- > get info - > copy path et remplacer par . Ensuite, tapez ci-dessous commande
xattr -cr "Full path of your project"
Nettoyer et construire fait.
La solution la plus simple peut être si vous utilisez git. Essayez:
$ git stash
$ git stash pop
Git ne stocke pas de métadonnées de fichier, ce qui précède va tout enlever.
Mon problème était que j'ai utilisé cordova pour construire l'application il y a environ 1 an, mais ce n'était pas compatible avec la nouvelle version de xcode, donc j'ai simplement utilisé cordova build ios
et cela a fonctionné à nouveau.
Si les commandes xattr ne font pas l'affaire, cela peut être dû à un bogue XCode 9: essayons de supprimer et de Ré-ajouter le dossier de ressources (c'était un .xcassets dans mon cas) contenant les fichiers affectés de Xcode. (vous devez comprendre quels sont les fichiers affectés précédents via la commande xattr-lr)
Ouvrez le terminal et exécutez simplement cette commande.
Xattr-cr "chemin vers .fichier d'application "
Je suis également confronté au même problème, a été corrigé en redémarrant simplement mon Macbook.
J'ai trouvé que si j'ajoute color tag
sur le dossier sous DerivedData
, cela donnera l'erreur ci-dessus lors du débogage sur l'appareil.
Supprimez le color Tag
corrigez cette erreur pour moi.