34 votes

Lors de la duplication d'une cible dans Xcode, existe-t-il un moyen de définir le nom que la cible aura avant ou au moment de sa création?

La duplication d'une cible dans Xcode est un excellent moyen de créer de multiples application ou de cadre/bibliothèque de produits, qui sont un peu différentes fonctions en utilisant la même base de code comme une suite de code conditionnel contrôlé par les variables d'environnement définies dans la cible de paramètres de construction ou d'autres mécanismes similaires. D'abord dupliquer votre fonctionne version de base, puis définissez les variables d'environnement de chaque cible va utiliser, puis début de la séparation de votre code de comportement en ligne de préprocesseur #ifdef consolidés.

Cependant, un duplicata de la cible sera nommé "Origine Nom de la Cible de la copie". Ce peut être renommé, mais l'info.plist aura également ce nom, il peut également apparaître dans un couple de essentiel de construire des paramètres, et il peut être fastidieux et erreur-l'introduction de processus pour supprimer toutes les références à la non-information "copie" de la version de la copie nom de la cible en fonction de comment vous le faites. Lorsque je crée iOS cadres de ce qui semble être particulièrement sujettes à l'introduction de questions.

Ma question est de savoir si il existe une technique pour dupliquer une cible qui permet de spécifier le nouveau nom de la cible au moment de la duplication, donc il n'y a jamais temporaire mauvais nom de la cible ou de tous les fichiers en cours de création qui contiennent que temporaire faux nom. Ou, alternativement, s'il est possible d'utiliser le "refactor" fonctionnalité pour résoudre ce est une façon automatique.

Si il y a une sorte de supposition erronée contenue dans la question qui explique pourquoi cette fonctionnalité n'a pas été inclus dans Xcode, laissez-moi savoir. Je suis en 4.3.

5voto

ipmcc Points 16609

Malheureusement, je suis vraiment convaincu qu'il n'y a pas actuellement d'interface utilisateur pour cela, même si je suis tout à fait d'accord pour dire que ce serait une énorme amélioration. Je ne peux pas parler pour tout le monde, mais je ne veux pratiquement jamais d'une cible nommée Foo copy . Je suggérerais de déposer un radar .

0voto

ecreif Points 483

Vous pouvez, avec un peu d'effort, l'utilisation de CMake pour que. C'est un système de construction du générateur.

Il peut être difficile au premier abord de savoir et de configuration du projet, et certaines choses sont (actuellement) pas facile possible pour Xcode (comme l'ajout de ressources), mais cela permettrait de créer de nouvelles cibles avec une configuration de base très facile.

Fondamentalement, vous écrivez CMakeLists.txt fichiers dans votre arborescence des sources de définir vos bibliothèques et des objectifs, puis de définir la source des fichiers, etc, puis générer le projet Xcode à chaque fois.

L'ajout d'une nouvelle cible serait très facile:

  1. ADD_EXECUTABLE( Target_Name Source_Files )
  2. SET_TARGET_PROPERTIES( Target_Name PROPERTIES COMPILE_DEFINITIONS Your_Additional_Defines )
  3. Réexécutez CMake. (Ce n'est pas même nécessaire de fermer le projet Xcode)

Inconvénients:

  • Prend le temps de l'installation.
  • Parfois, la recherche est nécessaire pour obtenir certaines choses à travailler
  • Certaines choses ne sont actuellement pas bien pris en charge via CMake

-3voto

MacD Points 333

Double-cliquez sur la cible pour au moins renommer la cible ... cherchez toujours à renommer le produit, mais ce n'est pas très important si vous pouvez renommer tout le reste (comme le nom d'affichage, etc.))

-4voto

Solorzano Jose Points 262
  • sélectionnez le projet dans le panneau navigation
  • sélectionnez la Cible que vous souhaitez dupliquer
  • clic droit de la souris et choisissez "Dupliquer"
  • Renommer Cible dans XCode: cliquez sur la Cible sélectionnée et de modification intégrée démarre.
  • Ouvrir un Terminal et allez dans votre répertoire de projet/dossier
  • Exécuter svn status pour voir les modifications XCode a juste fait.
  • XCode a créé de nouvelles Infocopy.fichier plist et a ajouté sous contrôle de version si vous en utilisez un. En général, vous voulez choisir nom différent afin de suivre ces étapes:
  • Annuler le contrôle de version plus: $> svn revert Infocopy.plist
  • Renommer: $> mv Infocopy.plist YourNameInfo.plist
  • Ajouter au contrôle de version: $> svn add YourNameInfo.plist
  • Définir le nouveau nom de votre nouvelle Cible Paramètres de construction nommé "Info.Fichier plist"
  • Renommer le fichier cible correctement: $> mv OrigTargetCopy.xcscheme YourTargetName.xcscheme
  • Ajouter le nouveau fichier sous contrôle de version: $> svn add YourTargetName.xcscheme
  • Renommer vous avez Produit dans votre nouvelle Cible Paramètres de génération nommée "Nom du Produit"
  • Très probablement, vous voulez aussi de définir de nouveaux "macros du Préprocesseur" Paramètres de construction pour votre nouvelle Cible.
  • Définissez les valeurs de votre YourNameInfo.plist
  • De fixer des objectifs de mission pour cible des fichiers spécifiques. Généralement YourNameInfo.plist est une partie seulement de vous nouvelle cible. Il peut y avoir beaucoup d'autres fichiers similaires (icône, l'écran de démarrage, d'autres graphiques, etc).

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