208 votes

Dupliquer et renommer le projet Xcode et les dossiers associés

J'aimerais pouvoir dupliquer un projet Xcode entier, renommer le projet et les fichiers associés sans que Xcode ne devienne fou et sans avoir à réimporter manuellement tous les fichiers dans le projet.

394voto

Sammio2 Points 918

Cette réponse est l'aboutissement de divers autres messages et tutoriels StackOverflow sur Internet, rassemblés en un seul endroit pour ma référence future et pour aider toute autre personne qui pourrait être confrontée au même problème. Tout le crédit est donné pour les autres réponses à la fin.

Dupliquer un projet Xcode

  1. Dans le Finder, dupliquez le dossier du projet à l'emplacement souhaité de votre nouveau projet. Ne renommez pas le dossier .xcodeproj Le nom du fichier ou tout autre dossier associé à ce stade.

  2. Dans Xcode, renommez le projet. Sélectionnez votre projet dans le panneau de navigation (panneau de gauche). Dans le volet Utilitaires (volet de droite) renommez votre projet, Acceptez les changements proposés par Xcode.

  3. Dans Xcode, renommez les schémas dans "Manage Schemes", renommez également toutes les cibles que vous pouvez avoir.

  4. Si vous n'utilisez pas l'identifiant de l'ensemble par défaut qui contient l'identifiant de l'ensemble actuel PRODUCT_NAME à la fin (la mise à jour se fera automatiquement), puis changez votre identifiant de regroupement pour le nouveau que vous utiliserez pour votre projet dupliqué.

Renommer le dossier source

Après avoir suivi les étapes ci-dessus, vous devriez avoir un projet Xcode dupliqué et renommé qui devrait se construire et se compiler avec succès, cependant votre dossier de code source sera toujours nommé comme il l'était dans le projet original. Cela ne cause aucun problème de compilation, mais ce n'est pas la structure de fichier la plus claire pour les personnes qui naviguent dans SCM, etc. Pour renommer ce dossier sans rompre tous vos liens de fichiers, suivez ces étapes :

  1. Dans le Finder, renommez le dossier source. Cela va casser votre projet, car Xcode ne détectera pas automatiquement les changements. Toutes les listes de fichiers de Xcode perdront leurs liens avec les fichiers réels, et deviendront donc toutes rouges. Note : Vous devrez peut-être faire Étape 2 d'abord, puis revenez à cette étape.

  2. Dans Xcode, cliquez sur le dossier virtuel que vous avez renommé (il se trouvera probablement tout en haut, juste en dessous de votre dossier actuel .xcodeproject ) Renommez le fichier pour qu'il corresponde au nom dans le Finder, cela ne résoudra rien et n'est pas une étape obligatoire mais c'est bien d'avoir les noms de fichiers qui correspondent.

  3. Dans Xcode, sélectionnez le dossier que vous venez de renommer dans le volet de navigation. Ensuite, dans le volet Utilitaires (à l'extrême droite), cliquez sur l'icône qui ressemble à un dossier gris foncé, juste en dessous du menu déroulant "Emplacement". De là, naviguez jusqu'à votre dossier renommé dans le finder et cliquez sur 'Choisir'. Ceci ré-associera automatiquement tous vos fichiers, et ils ne devraient plus apparaître en rouge dans le panneau de navigation de Xcode.

Icon to click

  1. Dans les paramètres de construction de votre projet/cible, recherchez l'ancien nom de dossier et renommez manuellement toutes les occurrences que vous trouvez. Normalement, il y en a un pour le dossier prefix.pch et un pour le Info.plist mais il peut y en avoir d'autres.

  2. Si vous utilisez des bibliothèques tierces (Testflight/Hockeyapp/etc), vous devrez également rechercher "Library Search Paths" et renommer toutes les occurrences de l'ancien nom de fichier ici aussi.

  3. Répétez ce processus pour tous les dossiers de code source de test unitaire que votre projet peut contenir, le processus est identique.

Cela devrait vous permettre de dupliquer et de renommer un projet Xcode et tous les fichiers associés sans avoir à modifier manuellement les fichiers Xcode, et risquer de tout gâcher.

Crédits

Un grand merci à Nick Lockwood y Pauly Glott pour avoir fourni les réponses distinctes à ce problème.

3 votes

Après avoir suivi les instructions ci-dessus, j'ai simplement recherché l'ancien nom dans le projet et j'ai trouvé ce qui devait être modifié (l'en-tête du préfixe) et il s'est compilé correctement avec le nouveau nom et à un autre endroit. Excellent tutoriel - juste ce dont j'avais besoin. (Testé avec Xcode 5.0.1 / iOS 7.0)

0 votes

Cela n'a pas semblé me permettre d'aller jusqu'au bout (sur Xcode 5.0.2 ici, avec un projet qui a été migré de 4.6.3 à 5.0.0). Il y avait beaucoup de choses à l'intérieur du *.xcodeproj/project.pbxproj qui contenait le chemin du dossier original. En particulier, la construction échouait parce qu'elle continuait à chercher un info.plist dans le dossier d'origine.

0 votes

En fait, ce n'est pas grave, l'info.plist était mon erreur de ne pas suivre le dernier point de la première section (je ne pouvais pas le trouver, je l'ai trouvé maintenant). Mais maintenant il y a des problèmes avec les schémas de construction, il semble qu'il cherche les fichiers pch dans le mauvais répertoire)... Il semble que cela m'ait permis de faire une grande partie du chemin. Merci !

34voto

fs_tigre Points 845

Je poste ce message car j'ai toujours eu du mal à renommer un projet dans la base de données de l'UE. XCode .

Renommer le projet, c'est bien et simple, mais cela ne renomme pas le dossier source. Voici un pas à pas de ce que j'ai fait et qui a très bien fonctionné dans Xcode 4 et 5 grâce aux liens ci-dessous.

Liens REF :
Renommer le projet.
Renommer le dossier source et d'autres fichiers.

1- Sauvegardez votre projet.

Si vous utilisez git, validez toutes les modifications, faites une copie de l'ensemble du dossier du projet et sauvegardez-le dans Time Machine avant de procéder à des modifications (cette étape n'est pas obligatoire mais je la recommande vivement).

2- Ouvrez votre projet.

3- Double-cliquez ou tapez sur le nom du projet (icône bleue en haut) et renommez-le comme vous le souhaitez.

NOTE : Après avoir renommé le projet et appuyé sur 'entrée', il vous sera proposé de changer automatiquement toutes les entrées liées au nom du projet et de les modifier. vous permettra de désélectionner certaines d'entre elles si vous le souhaitez. Sélectionnez-les toutes Sélectionnez-les toutes et cliquez sur ok.

4- Renommer le schéma

a) Cliquez sur le menu juste à côté du bouton d'arrêt et sélectionnez Gérer les régimes.

b) Faites un simple clic lent ou appuyez sur la touche Entrée sur l'ancien schéma de noms et renommez-le comme vous le souhaitez.

c) Cliquez sur ok.

5 - Construisez et exécutez pour vous assurer que cela fonctionne.

NOTES : À ce stade, tous les fichiers importants du projet doivent être renommés, à l'exception des commentaires dans les classes créées lors de la création du projet. a été créé ni le dossier source. Ensuite, nous allons renommer le dossier dans le système de fichiers.

6- Fermez le projet.

7- Renommez le dossier principal et le dossier source.

8- Cliquez à droite sur le paquet de projets .xcodeproj et sélectionnez "Show Package Contents" dans le menu contextuel. Ouvrez le fichier .pbxproj avec un éditeur de texte.

9- Recherchez et remplacez toute occurrence du nom de dossier original par le nouveau nom de dossier.

10- Enregistrez le fichier.

11- Ouvrez le projet XCode, testez-le.

12- Fait.

EDIT 10/11/19 :

Il existe un outil permettant de renommer les projets dans Xcode. Je ne l'ai pas suffisamment essayé pour le commenter. https://github.com/appculture/xcode-project-renamer

2 votes

La question portait sur la duplication puis le renommage du projet copié. Cette réponse ne concerne que le renommage d'un projet existant.

1 votes

C'est, pour moi, l'approche la plus simple. Il suffit de copier le dossier du projet original, par exemple MonProjet, récursivement vers "MonNouveauProjet". Ensuite, ouvrez MonNouveauProjet et suivez les instructions de fs_tigre. Je suis surpris que ni Android Studio ni Xcode ne fournissent une option "File->Clone Project" qui serait si pratique. Peut-être un beau projet de plugin pour quelqu'un ( nshipster.com/xcode-plugins ) ?

0 votes

La seule méthode qui a fonctionné pour moi - XCode 8.2

2voto

ytbryan Points 186

J’utilise ce script après que j’ai renommer mon projet d’iOS. Il permet de changer le nom de répertoires et de rendre les noms en synchronisation.

http://github.com/ytbryan/Rename

Remarque : vous devrez modifier manuellement le nom du régime.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X