Comment puis-je obtenir Xcode pour répliquer la structure du groupe de projets dans la structure des dossiers sur le disque?

J’ai un projet Xcode avec la structure de groupe suivante:

ProjectName/ Classes/ class1.h class1.m class2.h class2.m ... XMLDocs/ doc1.xml doc2.xml ... Resources/ Info.plist MainMenu.xib ... 

et ainsi de suite.

Je voudrais que cela soit également représenté dans la structure des dossiers sur le disque:

 ProjectFolder/ Project.xcodeproj Classes/ class1.h class1.m class2.h class2.m ... XMLDocs/ doc1.xml doc2.xml ... Resources/ Info.plist MainMenu.xib ... 

par opposition à tout ce qui est dans la méthodologie du dossier de projet racine.

Y a-t-il un moyen de le faire sans créer manuellement la structure de dossiers sur le disque et ensuite avoir à rapprocher toute la référence dans Xcode au nouvel emplacement?

Des points bonus si vous pouvez me dire comment le faire automatiquement à chaque fois que je crée un nouveau groupe ou que j’ajoute des fichiers à un groupe existant dans Xcode.

Il n’y a pas de fonctionnalité “rendre mon disque comme ma structure de projet” dans Xcode.

Vous pouvez automatiser la tâche en utilisant AppleScript: Vous pouvez à la fois examiner et modifier la structure du projet à partir d’un script. Il vous suffit donc d’écrire un script qui parcourt la structure du projet et fait en sorte que la hiérarchie des dossiers ressemble à la structure du projet et ajuste le sharepoint référence des références de fichiers et de groupes de Xcode.

Vous pouvez le faire dans une certaine mesure! Il y a juste une étape supplémentaire à effectuer chaque fois que vous créez un nouveau groupe (et cette fois-ci, vous aurez beaucoup de travail à faire!):

Réglage de l'emplacement Xcode

Chaque fois que vous créez un groupe dans Xcode, sélectionnez-le immédiatement et ouvrez la barre latérale droite. Notez le paramètre “Location:” juste en dessous de son nom. Cliquez sur l’icône du dossier à côté de “Aucun” et réglez-le sur un nouveau dossier portant le même nom.

Maintenant, chaque fois que vous ajoutez des fichiers au groupe, ils se dirigent vers le dossier correspondant sur le disque. Courtiser!

Malheureusement, cette fois, vous aurez beaucoup de travail à faire. (Au fur et à mesure que vous modifiez les chemins de groupe, vos fichiers deviendront tous rouges, car Xcode commencera à les rechercher dans le nouveau dossier. Vous devrez les déplacer manuellement du Finder pour y remédier.) outil en ligne pour effectuer cette migration initiale pour vous: https://github.com/venmo/synx

Une référence de dossier est ce que vous voulez. Lorsque vous faites glisser ou ajoutez des fichiers au projet, il existe une option pour “Créer des références de dossier pour tous les dossiers ajoutés”. Choisissez cela et vous obtiendrez le comportement que vous souhaitez.

alt text http://img.skitch.com/20081203-prtxsp7c36ern4afxxdixy93sq.png

Vous pouvez essayer d’append le dossier complet du projet en tant que référence de dossier. Cela devrait tout avoir. Ou ajoutez des références pour “Classes” “Ressources” et “XML” individuellement.

Xcode9 résout ce problème. Par défaut, un nouveau groupe est créé avec le dossier correspondant sur le disque.