Réponses:
Cette réponse est l'aboutissement de divers autres articles et tutoriels StackOverflow sur Internet réunis en un seul endroit pour ma future référence, 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.
Dans le Finder, dupliquez le dossier du projet à l'emplacement souhaité de votre nouveau projet. Ne renommez pas le nom de fichier .xcodeproj ou les dossiers associés à ce stade.
Dans Xcode, renommez le projet. Sélectionnez votre projet dans le volet du navigateur (volet gauche). Dans le volet Utilitaires (volet droit) renommer votre projet, Acceptez les modifications proposées par Xcode.
Dans Xcode, renommez les schémas dans "Gérer les schémas", renommez également toutes les cibles que vous pourriez avoir.
Si vous n'utilisez pas l'identifiant de bundle par défaut qui contient le PRODUCT_NAME actuel à la fin (il sera donc mis à jour automatiquement), changez votre identifiant de bundle par le nouveau que vous utiliserez pour votre projet dupliqué.
Donc, après avoir suivi les étapes ci-dessus, vous devriez avoir un projet Xcode dupliqué et renommé qui devrait être construit et compilé avec succès, mais votre dossier de code source sera toujours nommé tel qu'il était dans le projet d'origine. Cela ne cause aucun problème de compilation, mais ce n'est pas la structure de fichiers la plus claire pour que les gens naviguent dans SCM, etc. Pour renommer ce dossier sans rompre tous vos liens de fichiers, procédez comme suit:
Dans le Finder, renommez le dossier source. Cela interrompra votre projet, car Xcode ne détectera pas automatiquement les modifications. Toutes vos listes de fichiers xcode perdront leurs liens avec les fichiers réels, et deviendront toutes rouges.
Dans Xcode, cliquez sur le dossier virtuel que vous avez renommé (ce sera probablement tout en haut, juste en dessous de votre projet .xcode réel) Renommez-le pour correspondre au nom dans le Finder, cela ne résoudra rien et n'est strictement pas un étape requise mais il est agréable de faire correspondre les noms de fichiers.
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». À partir d'ici, accédez à votre dossier renommé dans le Finder et cliquez sur «Choisir». Cela réassociera automatiquement tous vos fichiers et ils ne devraient plus apparaître en rouge dans le volet de navigation Xcode.
Dans les paramètres de construction de votre projet / cibles, recherchez l'ancien nom de dossier et renommez manuellement toutes les occurrences que vous trouvez. Normalement, il y en a un pour prefix.pch et un pour info.plist, mais il peut y en avoir plus.
Si vous utilisez des bibliothèques tierces (Testflight / Hockeyapp / etc), vous devrez également rechercher des 'Chemins de recherche de bibliothèque' et renommer ici toutes les occurrences de l'ancien nom de fichier.
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 renommer un projet xcode et tous les fichiers associés sans avoir à modifier manuellement les fichiers xcode, et risquer de gâcher les choses.
Un grand merci à Nick Lockwood et à Pauly Glott d' avoir fourni des réponses distinctes à ce problème.
*.xcodeproj/project.pbxproj
fichier qui contenaient le chemin du dossier d'origine. En particulier, la génération échouait car elle cherchait toujours un info.plist dans le dossier d'origine.
Je poste ceci depuis que j'ai toujours eu du mal à renommer un projet en XCode
.
Renommer le projet est bon et simple, mais cela ne renomme pas le dossier source. Voici une étape par étape de ce que j'ai fait qui a très bien fonctionné dans Xcode 4 et 5 grâce aux liens ci-dessous.
Liens REF:
Renommer le projet.
Renommez le dossier source et d'autres fichiers.
1- Sauvegardez votre projet.
Si vous utilisez git, validez toutes les modifications, effectuez une copie de l'intégralité du dossier de projet et sauvegardez dans Time Machine avant d'apporter des modifications (cette étape n'est pas obligatoire mais je le recommande vivement).
2- Ouvrez votre projet.
3- Double-cliquez lentement ou appuyez sur Entrée sur le nom du projet (icône bleue en haut) et renommez-le comme vous voulez.
REMARQUE: après avoir renommé le projet et appuyé sur «Entrée», il vous proposera de modifier automatiquement toutes les entrées liées au nom du projet et vous permettra de désélectionner certaines d'entre elles si vous le souhaitez. Sélectionnez-les tous 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 schémas.
b) Un simple clic lent ou appuyez sur Entrée sur l'ancien schéma de nom et renommez-le comme vous voulez.
c) Cliquez sur ok.
5 - Construisez et exécutez pour vous assurer que cela fonctionne.
REMARQUES: À ce stade, tous les fichiers de projet importants doivent être renommés, à l'exception des commentaires des classes créées lors de la création du projet ni du dossier source. Ensuite, nous renommerons le dossier dans le système de fichiers.
6- Fermez le projet.
7- Renommez le dossier principal et le dossier source.
8- Cliquez avec le bouton droit sur le .xcodeproj
fichier de l' ensemble de projets et sélectionnez «Afficher le contenu du package» dans le menu contextuel. Ouvrez le fichier .pbxproj avec n'importe quel éditeur de texte.
9- Recherchez et remplacez toute occurrence du nom de dossier d'origine par le nouveau nom de dossier.
10- Enregistrez le fichier.
11- Ouvrez le projet XCode, testez-le.
12- Terminé.
Il y a un outil pour renommer des projets dans Xcode, je ne l'ai pas assez essayé pour le commenter. https://github.com/appculture/xcode-project-renamer
Depuis XCode 7, cela est devenu beaucoup plus facile.
Apple a documenté le processus sur leur site: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html
Mise à jour: lien XCode 8: http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f
J'utilise ce script après avoir renommé mon projet iOS. Il aide à changer le nom des répertoires et à synchroniser les noms.
REMARQUE: vous devrez modifier manuellement le nom du schéma.
Dans l'exemple de code du livre "Instant OpenCV pour iOS", j'ai trouvé un script bash qui copie un projet d'un dossier à un autre.
En faisant un peu de recherche, j'ai trouvé un article de blog de ce qui semble être l'auteur original du script: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , où vous pouvez télécharger le script . Je l'ai essayé et exécuté à partir d'un terminal comme celui-ci
sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>
fonctionne bien.
Des informations supplémentaires peuvent être trouvées en ouvrant le fichier avec un éditeur de texte. J'espère que cela pourra aider
J'utilise Xcode 6+ et je fais juste:
*.xcodeproj or *.xcworkspace
Voilà c'est fait, mais nom de la fenêtre Xcode et *.xcodeproj or *.xcworkspace
encore <old-name>
. Alors je fais:
pop install
<new name>.xcworkspace
Encore une chose à essayer!
Lorsque j'ai copié tous mes fichiers, ouvert le projet et renommé, tout a changé pour mon nouveau nom de projet à l' exception de la cible de test! J'ai reçu une erreur de l'éditeur de liens qui m'a dit qu'il me manquait un fichier appelé "myOldProjectname.app". Voici ce qui l'a corrigé:
Cliquez sur les paramètres de votre projet et sélectionnez votre cible de test
Cliquez sur les paramètres de construction et recherchez «hôte de test»
Vérifiez ces 2 chemins de fichiers. Les chances sont que ces 2 chemins pointent toujours vers votre ancien nom de projet.
J'espère que cela pourra aider!
Pour toute autre personne ayant des problèmes avec le storyboard se bloque après la copie de votre projet, rendez-vous sur Main.storyboard sous Identity Inspector.
Ensuite, vérifiez que votre module actuel est le module renommé correct et non l'ancien.
J'utilise un simple script BASH pour renommer.
Usage: ./rename.sh oldName newName
#!/bin/sh
OLDNAME=$1
NEWNAME=$2
export LC_CTYPE=C
export LANG=C
find . -type f ! -path ".*/.*" -exec sed -i '' -e "s/${OLDNAME}/${NEWNAME}/g" {} +
mv "${OLDNAME}.xcodeproj" "${NEWNAME}.xcodeproj"
mv "${OLDNAME}" "${NEWNAME}"
Remarques:
.git
et.DS_Store