J'aime organiser mes cours en groupes, dans le volet de navigation du projet Xcode 4. J'utilise également le versioning GIT via le terminal, ce qui fonctionne mieux pour moi que l'intégration Xcode 4. Pour moi, cela a le plus de sens lorsque les groupes que je crée dans Xcode correspondent à de vrais dossiers sur mon système de fichiers.
Cependant, Xcode semble ne pas se soucier de l'emplacement d'un fichier (par exemple, le fichier Objective-C .h/.m) sur le système de fichiers, et chaque fois que vous ajoutez un groupe (Option+Command+N
) c'est purement cosmétique, car tous les fichiers que vous y insérerez partageront le même emplacement sur votre disque dur que les autres.
La chose étrange est que si vous créez d'abord un dossier sur votre disque dur, puis le faites glisser vers Xcode, vous avez créé un groupe avec son propre emplacement sur votre système de fichiers. Chaque fichier que vous créez sera créé dans le dossier sur le disque. J'adore ça, mais j'adorerais encore plus si Xcode faisait ça pour moi à Option+Command+N
. Le flux de travail consistant à basculer vers le Finder pour chaque groupe que vous souhaitez créer, puis à le faire glisser au bon endroit dans le navigateur de votre projet est tout simplement stupide.
Cela ressemble à quelque chose qu'un paramètre réglerait, mais je ne le trouve pas! Y a-t-il une meilleure façon?
Mise à jour: Lorsque vous faites glisser un dossier vers Xcode, vous obtiendrez une fenêtre de dialogue où vous pourrez choisir "Référence de dossier". Cela semble prometteur, mais mon Xcode 4 n'accepte pas les fichiers qui s'y trouvent en tant que classes et continue de me dire qu'il ne trouve aucun fichier. Peut-être que la réponse se trouve ici quelque part, mais je ne la trouve toujours pas.
ne autre mise à jour: J'ai changé mon environnement d'éditeur principal de Xcode à AppCode. Ce dernier prend en charge la création de dossiers pour sauvegarder les groupes de projets, tout en conservant une compatibilité à 100% avec Xcode. Ces gars AppCode savent vraiment ce qu'ils font.
Ce qui suit décrit Xcode 9 et versions ultérieures.
À partir de Xcode 9, Xcode peut créer automatiquement un dossier de système de fichiers lorsque vous créez un groupe dans votre projet.
Lorsque vous cliquez avec le bouton droit (ou contrôle-cliquez) dans le navigateur de projet, le menu contextuel comprend un élément de menu "Nouveau groupe" et soit un " Élément de menu Nouveau groupe avec dossier ou un élément de menu "Nouveau groupe sans dossier".
Si Xcode propose "Nouveau groupe" et "Nouveau groupe avec dossier", alors "Nouveau groupe" crée un groupe sans dossier.
Si Xcode propose "Nouveau groupe" et "Nouveau groupe sans dossier", alors "Nouveau groupe" crée un groupe avec un dossier.
En d'autres termes, "Nouveau groupe" fait toujours l'opposé de l'autre élément de menu (explicite), en ce qui concerne la création de dossiers.
Si vous renommez un groupe et que ce groupe a un dossier correspondant du même nom, Xcode 9 renomme également le dossier.
Dans Xcode 9, si vous faites glisser un fichier d'un groupe vers un autre et que les groupes ont des dossiers différents, Xcode 9 déplace le fichier vers le dossier du nouveau groupe, que le dossier du nouveau groupe porte le même nom que le groupe.
Si vous ne souhaitez pas ce comportement dans Xcode 9, vous pouvez définir un paramètre non documenté à partir de la ligne de commande:
defaults write com.Apple.dt.Xcode IDEDisableStructureEditingCoordinator -bool YES
Il n'est pas du tout évident comment Xcode décide d'afficher "Nouveau groupe" et "Nouveau groupe avec dossier", ou "Nouveau groupe" et "Nouveau groupe sans dossier". Un Apple à la WWDC 2018 (je pense que son nom était Paul) a regardé le code source Xcode et m'a expliqué:
Fondamentalement, Xcode essaie de deviner si votre nouveau groupe devrait avoir son propre dossier en fonction de si ses futurs frères et sœurs ont leurs propres dossiers.
Vous pouvez créer un nouveau groupe, avec son propre dossier, directement dans Xcode, mais ce n'est pas du tout évident.
Au lieu de choisir "Nouveau groupe", choisissez "Ajouter des fichiers à" <Projet> "". Ensuite, dans la boîte de dialogue du sélecteur de fichiers, cliquez sur le bouton Nouveau dossier ou appuyez sur Commande + Maj + N et tapez le nom du nouveau dossier/groupe. Ensuite, assurez-vous que "Créer des groupes pour tous les dossiers ajoutés" est choisi et cliquez sur Ajouter ou appuyez sur Retour.
Cela ne vous fait pas beaucoup d'économies si vous devez déplacer des fichiers existants dans le nouveau groupe, car Xcode ne le fera toujours pas.
Mais cela enregistre quelques étapes si vous créez un nouveau groupe pour contenir de nouveaux fichiers.
Pour ceux qui sont trop paresseux pour synchroniser les dossiers, il y a un outil sympa sur GitHub .
Synx est un outil en ligne de commande qui réorganise votre dossier de projet Xcode pour qu'il corresponde à vos groupes Xcode.
J'espère que cela aide quelqu'un
Jetez un œil à la réponse d'Andyvn22 ici
Paraphraser:
Ensuite, vous devrez déplacer manuellement tous les fichiers existants sur le disque vers le nouveau dossier.
Je viens d'essayer cela dans mon projet Xcode4, cela fonctionne comme un charme.