Erreur de signature de code Chaque fois que j'essaie de replace des files stock dans une nouvelle application SceneKit

Donc, Xcode 8 a été récemment publié et je ne sais toujours pas exactement ce qui pourrait causer ce problème (c'est peut-être juste le fait qu'il s'agit d'une version bêta de Xcode ou peut-être que je fais quelque chose de mal).

Le problème est que j'essaie de créer une nouvelle application SceneKit et que je suis en train de jouer avec les files .scn.

J'ai créé un file .scn, "hero.scn" à l'intérieur d'un "hero.scnassets" et a également fourni un file .png dans le dossier hero.scnassets par le nom de "heroTexture.png"

Le code normalement fourni par Xcode 8.0 beta 1 pour ce projet dans le file "GameViewController.swift" a été modifié comme suit:

Code d'origine:

... let scene = SCNScene(named: "art.scnassets/ship.scn")! ... let ship = scene.rootNode.childNode(withName: "ship", recursively: true)! ship.run(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1))) 

Code édité:

 ... let scene = SCNScene(named: "hero.scnassets/hero.scn")! ... let hero = scene.rootNode.childNode(withName: "hero", recursively: true)! hero.run(SCNAction.repeatForever(SCNAction.rotateBy(x: 0, y: 2, z: 0, duration: 1))) 

Erreur reçue:

 .../Xapp.app: resource fork, finder information, or similar desortingtus not allowed Command /usr/bin/codesign failed with exit code 1 

Conclusion de la question:

Pourquoi ai-je une erreur de signature alors que tout ce que j'ai fait est simplement des files remplacés?

Note: Je sais comment faire pour que le problème de signature de code disparaisse, mais cela implique le redémarrage de l'set du projet (ce qui ne me dérange pas). Le problème auquel je suis confronté est cependant chaque fois que je change les files, j'obtiens cette erreur.

PS: Voici une structure de files juste pour la facilité. FileStruct

Débarrassez-vous de cette erreur de construction en trois étapes faciles:

1) supprimez le dossier le plus récent associé à votre application dans DerivedData (~ / Library / Developer / Xcode / DerivedData)

2) dans le terminal, cd dans le directory du projet courant

3) courir

xattr -rc.

pour supprimer tous les attributes étendus (généralement liés aux files d'image précédemment édités dans Photoshop)

reconstruisez votre application!

L'erreur provient d'attributes dans vos files d'image.

Voici une command simple pour find tous vos files png et supprimer leurs attributes. Exécutez ceci dans le directory racine de votre projet à partir du terminal. Rebuild, nettoyer et résoudre le problème.

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

J'ai eu la resource fork, finder information, or similar desortingtus not allowed erreur resource fork, finder information, or similar desortingtus not allowed après avoir installé la version de développement de macOS et dans mon cas il a été provoqué par des attributes non valides sur certains de mes dossiers.

Je l'ai corrigé en recherchant les attributes com.apple.FinderInfo sur mes files comme ça

ls -alR@ . > investigate.txt

Maintenant ouvrez investig.txt dans votre éditeur de text favori et effectuez une search pour com.apple.FinderInfo et effacez les attributes sur tous les files ayant cet atsortingbut. Vous pouvez le faire en utilisant

xattr -c <filename> ex. xattr -c iTunesArtwork.png

Une fois que j'ai effacé tous mes files, j'ai été en mesure de signer à nouveau mon application.

Je l'ai réparé! Apparemment c'était une erreur avec le nouveau Xcode. Ce que vous devez faire est de redémarrer OS X / macOS et nettoyer le projet. Il devrait marcher après ça!

Je n'ai pas pu supprimer les informations du Finder et redémarrer n'a pas fonctionné. Pour moi (j'ai installé la version bêta de Sierra), c'était parce que le projet se trouvait dans mon dossier Documents qui est synchronisé avec iCloud. Dès que j'ai fait un projet non dans un dossier synchronisé avec iCloud, ça a bien fonctionné, donc le bug pourrait être aussi bien avec iCloud qu'avec Xcode

Cela semble éclaircir le problème. Créez un dossier .atlas (par exemple "myImages.atlas"), à l'extérieur du dossier racine du projet. Ajoutez vos images dans le dossier .atlas. Puis de l'intérieur dans le projet "append des files à …" le dossier .atlas, (note: évitez de mettre le dossier .atlas dans le dossier art.scnasstes, et assurez-vous que le projet est "nettoyé" avant de rebuild)

C'est un changement de security qui a été introduit avec iOS 10, macOS Sierra, watchOS 3 et tvOS 10.

La signature de code ne permet plus à aucun file d'un set d'applications d'avoir un atsortingbut étendu contenant une fourchette de ressources ou des informations de Finder.

Pour voir quels files causent cette erreur, exécutez cette command dans Terminal:

$ xattr -lr

remplaçant par le path de votre set d'applications actuel.

Voici un exemple de cette command en action:

$ xattr -lr Foo.app

/Applications/Foo.app: com.apple.FinderInfo:

00000000 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 | ……………. |

Vous pouvez également supprimer tous les attributes étendus de votre set d'applications avec la command xattr:

$ xattr -cr

Notez que lorsque vous parcourez des files dans un groupe avec la command Afficher le contenu du package du Finder, les informations du Finder peuvent être ajoutées à ces files. Sinon, auditez votre process de construction pour voir où les attributes étendus sont ajoutés.