2011-10-21 4 views
13

J'essaie d'ajouter une nouvelle cible à mon projet Xcode afin que je puisse exécuter la même application, mais avec une différence subtile.Comment ajouter une nouvelle cible iPhone

S'il vous plaît quelqu'un peut me guider à travers la configuration d'une nouvelle cible, car c'est la première fois et je ne sais pas comment s'y prendre.

En particulier, je suis intéressé comment je fais la nouvelle cible exécuter le code dans l'application originale. Lorsque j'ai essayé de créer une nouvelle cible, elle a créé un nouveau délégué d'application et un fichier viewController. Désolé si c'est simple, je suis juste assez confus.

EDIT: S'il vous plaît noter que je suis après après des instructions basées dans Xcode 4.

Répondre

23

Dans xcode 4, vérifiez que vous êtes dans la vue de dossier où vous avez le projet. Sélectionnez le bouton de projet bleu, puis à côté de vous pouvez voir Targets, Sélectionnez la cible que vous avez là, faites un clic droit & sélectionnez duplicate target.

Vous avez maintenant deux cibles de construction. Pour appliquer des différences subtiles dans votre application, créez un indicateur C global. dans Build settings il y a un paragraphe nommé GCC 4.2 - Language, il a une propriété nommée Other C Flags. Ajoutez votre drapeau ici comme ceci:

-DOTHER_VER 

maintenant dans votre code, vous pouvez vérifier cela en utilisant:

#ifdef OTHER_VER 
    // some code. 
#else 
    // the subtle difference. 
#endif 
+0

merci pour votre aide. Lorsque je duplique la cible, elle obtient une 'copie cible', existe-t-il un moyen de la renommer tout au long du projet, par ex. 'Target Pro'? –

+2

Oui, sous Paramètres de construction, il existe une propriété appelée Nom du produit. – Wolfert

4

Si je vous comprends bien, this article est ce que vous cherchez.

+0

Merci pour votre aide. C'est gentil ce que je suis après, cependant j'utilise Xcode 4, connaissez-vous des tutoriels basés dans Xcode 4? –

+0

Bien que cela puisse théoriquement répondre à la question, [il serait préférable] (http://meta.stackexchange.com/q/8259) d'inclure les parties essentielles de la réponse ici, et de fournir le lien pour référence. –

+0

Je suis les intructions, mais il semble que le doublon cible partage le même fichier info.plist. Je le duplique manuellement et affecte chaque fichier plist à sa cible correspondante, mais ils ne semblent pas être indépendants. Quand je change l'un d'entre eux et que je compile, les autres héritent des mêmes paramètres, y compris le nom du fichier exécutable, donc pas moyen de produire deux applications séparées à partir de la même base sans méconnaître le code source. –

2

Après avoir créé votre nouvelle cible à partir des paramètres de votre projet, vous pouvez créer une classe d'identifiant pour vérifier la cible. Si vous utilisez des macros partout dans votre code, ce ne sera pas lisible et réalisable. Vous pouvez vérifier this tutorial-blog pour apprendre à le faire, en plus vous pouvez voir quelques meilleures pratiques là-bas.

Questions connexes