Déplacer des fichiers dans un véritable dossier dans Xcode

quand j'ai commencé mon projet, j'étais heureux d'utiliser des groupes dans Xcode plutôt que des dossiers littéraux: comme J'utilise le navigateur dans Xcode pour accéder à tout, les choses étaient bien organisées et j'étais heureux.

cependant, maintenant que le projet est sur le point d'être partagé pour le contrôle de version, le dossier de projet lui-même est un spectacle d'horreur pour ceux qui essaient de le scanner via un terminal, environ 300 fichiers, dont plus de la moitié sont des graphiques.

j'essaie maintenant réorganiser les choses, créer des dossiers réels et les importer dans Xcode. Malheureusement, Xcode ne me permet pas de travailler avec eux comme il le fait avec les groupes. Par exemple, si je clic droit sur un dossier ajouté (bleu, pas jaune) et choisissez ajouter des fichiers existants, il ne fait pas les mettre dans ce dossier, il les met dans sa racine.

de même, Je ne peux pas déplacer un fichier d'un faux dossier (un groupe) dans un vrai dossier: Xcode ne considère pas les vrais dossiers comme des endroits valides déplacer le contenu.

Qu'est-ce que je rate? Comment convaincre Xcode de me laisser utiliser les dossiers comme j'utilise les groupes? Il y a une réponse ici à une question quelque peu similaire , mais elle ne résout pas réellement mon problème puisque je travaille avec des fichiers existants.

166
demandé sur Community 2010-12-11 02:24:29

11 réponses

modernes (morts et simple! approche pour 2017 (Xcode 6, 7, 8, parfois 9, car il le fait automatiquement partie du temps):

si vous déplacez un tas de fichiers dans un nouveau dossier et que vous gardez la hiérarchie des enfants, c'est en fait beaucoup plus facile que de déplacer chaque fichier individuellement:

  1. créez de nouveaux groupes dans L'arbre des dossiers Xcode et organisez vos fichiers en eux comme vous le souhaitez.
  2. créer un correspondance de l'arborescence des dossiers physiques dans Finder et organisez vos dossiers physiques en eux pour correspondre à ce que vous avez fait à l'étape 1.
  3. toutes les références dans Xcode doivent maintenant être en rouge (C'est OK!).
  4. à partir du Gestionnaire D'identité et de Type, sélectionnez le groupe dans Xcode que vous voulez déplacer, puis cliquez sur l'icône de dossier à partir du volet info:

  5. dans la boîte de dialogue de sélection du Finder, localisez le nouveau dossier équivalent que vous avez créé pour ce groupe à l'étape 2. tous les fichiers à l'intérieur de ce groupe seront maintenant automatiquement redécouverts!

n'est-ce pas agréable? Au maximum, vous devrez répéter ces 5 étapes une fois pour chaque nouveau groupe que vous avez créé (ce qui vaut mieux que de déplacer chaque fichier individuellement!)

Points Bonus!

dites que vous avez accidentellement foiré le mouvement et maintenant un tas de vos fichiers sont rouges et ne peuvent pas être trouvés: sélectionnez multiple fichiers qui sont cassés, et en utilisant la même icône de dossier dans la capture d'écran de l'étape 4, Trouver le bon dossier qui contient ces fichiers et ils seront automatiquement résoudre les chemins manquants.

168
répondu brandonscript 2017-09-19 14:07:40

modifié en juin 2017: Xcode 9 fait cela automatiquement, aucun effort spécial nécessaire. Cette réponse et Brandon ne s'appliquent qu'au Xcode 8 et aux versions antérieures.

révisé en décembre 2016: la réponse de Brandon ci-dessous est une meilleure solution maintenant. Lorsque cette réponse a été créée en 2010, c'était la seule option que j'ai pu trouver. Je suggère maintenant la réponse de Brandon , ci-dessous.


il s'avère que le déplacement des fichiers dans des dossiers réels est certainement possible, mais pas aussi simple qu'il devrait être.

j'ai obtenu les informations de base d'une question ici, Xcode organiser des fichiers et des dossiers (core data model objects - iPhone)" , mais a appris des choses importantes en cours de route.

Le Processus

déplacer les fichiers est une double étape processus comportant plusieurs sous-étapes:

  1. dites à Xcode où vous voulez que les fichiers soient :

    • Right/Control-cliquez sur le fichier ou le groupe de fichiers que vous souhaitez déplacer et choisissez Get Info à partir du menu contextuel qui apparaît. Le "151910920 Groupe" Info ou "151910920 Fichier" Info s'affiche.



    • cliquez sur le bouton choisissez sur le côté droit de la fenêtre dans la zone chemin . Une boîte de dialogue s'affiche.



    • naviguez vers le dossier dans lequel vous voulez que les fichiers soient déplacés. Créer un nouveau dossier si nécessaire. Cliquez sur le bouton choisir dans le coin inférieur droit de la boîte de dialogue, puis fermez la fenêtre Info de Groupe/Info de fichier .



    • les noms du/des fichier (s) dans le groupe seront rouges pour indiquer que Xcode ne peut pas les trouver à l'endroit que vous avez spécifié.



  2. déplacer les fichiers actuels

    • dans le Finder (ou Git) déplacer les fichiers que vous avez sélectionnés à l'étape 1 dans les dossiers que vous le souhaitez.



    • revenir à Xcode. Les fichiers / groupes devraient tous être à nouveau noirs. Si certains sont encore rouges, vous avez oublié de déplacer quelque chose dans le bon dossier.

Conseils

j'ai appris quelques choses importantes en ajustant le ~300 fichiers dans ce projet:

  • certains fichiers refusent de se déplacer de cette façon; c'est-à-dire, lorsque vous naviguez vers la nouvelle destination, le bouton choisir est désactivé, tout comme le bouton nouveau dossier . La solution, bien que je ne sais pas pourquoi cela fait une différence, est d'abord D'utiliser Xcode pour mettre ces fichiers dans un groupe (Droit/contrôle-cliquez sur les fichiers et choisissez groupe , et donner un nom au groupe) et puis déplacer le groupe pour le nouvel emplacement. Une fois que vous avez réellement déplacé les fichiers dans le Finder, vous pouvez les supprimer du groupe (en les faisant glisser dans le nouveau groupe parent/dossier et en supprimant le groupe).



  • S'arrêter et construire toutes les quelques minutes, après avoir terminé l'étape 2 pour un certain nombre de fichiers. Le build vous indiquera si vous avez tout foiré jusqu'à présent, ce qui rend plus facile d'y retourner et de le réparer avant que vous n'ayez fait trop de dégâts.



  • si les fichiers ne se déplacent pas à l'endroit où vous voulez qu'ils se déplacent - j'ai eu un diable d'un temps en déplaçant certains fichiers qui avaient été créés au début dans le dossier des Classes-vous pouvez simplement les faire sortir de leur ancien endroit dans le finder à un endroit pratique comme le bureau, supprimer les références à eux dans Xcode, et ensuite les ré - importer via le droit/contrôle-cliquez sur ajouter des fichiers existants option.



  • si dans le passé vous avez utilisé Xcode pour supprimer des références à des fichiers sans les déplacer aussi à la corbeille dans ce projet, vous trouverez des fichiers qui n'ont pas besoin d'être déplacés mais simplement assis là. Faites attention de ne pas faire ce que j'ai fait, en confondant les noms d'un groupe de fichiers que je déplaçais et les anciens fichiers non liés, en insistant pour que Xcode les importent parce que vous pensiez qu'ils étaient denses.

Espérons que cela aide certains futurs personne. Je suis surpris que ce soit aussi difficile et parfois délicat que ça l'était.

118
répondu Matthew Frederick 2017-06-07 23:40:30

dans le Xcode 5 ou le Xcode 6:

  1. créez les dossiers qui correspondent à vos groupes dans Finder
  2. déplacer les fichiers dans ces dossiers dans Finder
  3. Sélectionnez chaque fichier qui est Rouge dans la barre latérale de Xcode à gauche
  4. cliquez sur le bouton "Afficher / Masquer les utilitaires" pour afficher la barre latérale droite (voir figure)
  5. dans "identité et Type", cliquez sur le petit bouton et sélectionnez l'emplacement du fichier (Voir figure)

enter image description here

santé.

104
répondu reinaldoluckman 2015-07-23 11:49:19

j'ai trouvé la façon la plus fiable de travailler autour de la conception épouvantable de XCode ici est d'organiser tous vos fichiers dans Finder, pour deux raisons:

  1. chercheur ne pas faire des "erreurs", à la différence de XCode GUI
  2. une fois que les choses sont organisées dans Finder, vous pouvez glisser/déposer des dossiers de Finder entiers dans XCode, et ... il fait exactement ce que vous vouliez, sans effort

même en déplaçant des fichiers Xcode existants autour, il est plus rapide de le faire:

  1. sélectionner les fichiers dans Finder
  2. créer un dossier dans Finder pour eux
  3. faites-les glisser/déposer dans le dossier (les déplace automatiquement)
  4. Glissez / déposez le dossier Finder dans Xcode (automatiquement: crée le dossier Xcode, ajoute chaque fichier dans le dossier Finder)
  5. cmd-sélectionnez chaque fichier "rouge" que vous voyez maintenant dans Xcode (parce que vous les avez déplacés) et appuyez sur le supprimer la touche

NB: Je n'utilise jamais l'option" Créer des dossiers traînés avec des sous-groupes", parce que dans le XCode 3 qui était souvent désespérément bogué et pouvait corrompre des projets. Apple clearly (IMHO) n'utilise pas cette fonctionnalité en interne, sinon il n'aurait jamais été autorisé à être aussi buggy; si Apple n'utilise pas une chose, il est généralement pas sûr de l'utiliser non plus - ils ne sont pas bons à tester :)

22
répondu Adam 2011-07-07 22:53:11

il y a un outil simple à configurer et à utiliser outil en ligne de commande - "synx" disponible en github qui font exactement ce qui est nécessaire ici.

il réorganise le dossier du projet Xcode dans finder pour faire correspondre les groupes Xcode dans le projet.

Vous pouvez le trouver ici: https://github.com/venmo/synx

mise à jour: XCode 9 supporte cette fonctionnalité par défaut. Donc, pas besoin d'utiliser d'autres outils plus!

20
répondu Nitesh Borad 2018-04-16 09:20:33

Xcode 9

il semble que Xcode 9 le supporte maintenant par défaut. Lorsque vous déplacez des fichiers à partir d'un groupe à l'autre, le fichier sera également déplacé de l'ancien dossier vers le nouveau dossier. Cela a été annoncé dans la WWDC 2017.

5
répondu Guy Daher 2017-06-23 12:35:24

j'ai utilisé l'outil pour y parvenir. organiser les dossiers dans les groupes Xcode

--no-default-exclusions
3
répondu Mike.R 2015-03-09 12:24:58

je suis habituellement déplacer des fichiers dans le répertoire directement dans le Finder, puis fixer les fichiers avec des noms de couleur rouge dans XCode dans leur dialogue" Get Info": cliquez sur le " choisir..."bouton et sélectionner la nouvelle locatoin de file. C'est la première réponse Quand je veux déplacer des fichiers dans XCode, et ça marche.

2
répondu Xie Yanbo 2010-12-28 15:20:50

à partir de Xcode 4.5 lorsque vous glissez dans la structure d'un dossier, il est automatiquement transformé en groupes imbriqués dans le navigateur du projet. Ensuite, si vous regardez sur le disque (par exemple clic droit et choisir afficher dans Finder), la structure du dossier a été conservée.

j'ai trouvé qu'essayer de réparer les choses d'un projet plus ancien était juste une douleur. Il s'est avéré beaucoup plus facile de simplement supprimer ces fichiers et de les faire glisser à nouveau.

1
répondu Snowcrash 2012-11-27 08:35:29

pour déplacer un dossier dans Xcode 4.5 j'ai juste...

  1. supprimer les fichiers/groupes de xcode et sélectionner"supprimer la référence".
  2. allez dans finder et déplacez le dossier/les fichiers au besoin.
  3. une fois fait, je retourne dans Xcode et je choisis File->Add Files to {ProjectName}.
  4. assurez-vous que" Copier les éléments dans le dossier du groupe de Destination (si nécessaire)" est coché
  5. s'assurer" créer un groupe pour un dossier ajouté" est coché
  6. assurez-vous que "Ajouter à la cible" est vérifié pour votre projet
1
répondu Shannon Cole 2013-06-13 11:32:51

technique la plus facile pour XCode 8....

en supposant que vous avez des fichiers A,B, C dans un groupe logique, mais que vous voulez les déplacer dans un dossier sur votre disque dur.

  1. créer un dossier de destination via Finder
  2. ajouter le dossier dans XCode (Fichier -> Ajouter des fichiers ) en utilisant le volet Options pour sélectionner une référence de dossier (pas un groupe)
  3. faire Glisser des fichiers A,B,C de la (vieille) groupe pour le (nouveau) dossier de référence dans le navigateur de projets. XCode déplacera les fichiers dans le dossier, à la fois dans le projet et sur le disque.

fait.

0
répondu software evolved 2017-07-27 17:49:44