2010-02-22 13 views
2

J'ai cherché longtemps sur stackoverflow en utilisant tous les mots-clés que je pouvais penser pour résoudre ce problème. Je suis programmant pour l'iphone et j'ai une version allégée et payante de mon application. J'ai suivi les instructions ici Creating Lite Versions of iPhone Games/Apps pour dupliquer la cible. Cela fonctionne et maintenant je travaille sur maigrir la version allégée.Lors de la compilation pour plusieurs cibles dans XCode, comment puis-je m'assurer que certains fichiers ne seront pas inclus une cible

Problème principal? Images. La version allégée doit avoir plusieurs centaines d'images de moins que la version payante. Donc, j'ai fait 2 groupes en XCode. Un "groupe de dossiers" dans Xcode - nommé "FreeImages" et un autre "ProImages". Je veux tout FreeImages seulement à être inclus dans l'application Lite et tous les FreeImages et ProImages d'être dans l'application payante. Peu m'importe que XCode considère ces groupes comme des dossiers virtuels. J'inversé les instructions à un point et avoir un drapeau de l'environnement (-D) situé dans XCode « PLUS_VERSION » Je veux XCode faire essentiellement les éléments suivants:

If (PLUS_VERSION) 
{ 
copy contents of FreeImages *and* ProImages where normally they go 
} 
else 
{ 
copy contents of FreeImages where they normally go. 
} 

Quelqu'un sait où commencer à dire XCode copier conditionnellement contenu des groupes dans la cible?

Répondre

10

Pour chaque ressource (ou dossier de ressources) que vous souhaitez diriger vers une cible spécifique, vous pouvez cliquer sur la ressource et l'inspecter (soit en cliquant avec le bouton droit sur Get Info ou en cliquant sur l'option Inspecter) . Dans cette boîte de dialogue d'information se trouve un onglet appelé Cibles, où vous pouvez vérifier les cibles auxquelles vous voulez que la ressource (ou même le fichier de code source) soit incorporée, et décochez celles qui ne le sont pas. Alternativement, je crois que vous pouvez naviguer vers la cible elle-même dans Xcode, cliquez sur le triangle à côté de son nom pour développer la liste des phases de construction, développer la phase de construction des ressources de copie et supprimer manuellement de la liste ressources que vous ne souhaitez pas avoir copiées dans cette cible.

+0

C'est PARFAIT! Merci! Je n'ai pas voté en tant que "Réponse" jusqu'à ce que je l'ai essayé et testé ... mais je l'ai fait maintenant. Merci beaucoup Brad! – Jann