Réponse originale est des jours avant dans l' achat d' une application. La bonne réponse est maintenant à expédier un seul binaire et offrir votre version payante grâce à des mises à niveau d'applications . Il est un peu plus du code , mais il est un seul envoi et votre taux de conversion sera probablement mieux.
Cependant, si vous voulez toujours versions de votre application:
Xcode a un bon support pour de multiples cibles.
Dans le menu projet, sélectionnez « Nouvelle cible ... ». Ajouter un autre exécutable iPhone (Cocoa application tactile), vous pouvez spécifier sur une base resouce par des ressources qui éléments sont inclus dans votre cible. Cela peut inclure seulement compiler certain code dans votre version payante.
Vous pouvez obtenir une rétroaction visuelle rapide sur ce qui est et ne figure pas dans la cible actuelle en cliquant droit sur l'en-tête de liste « Groupes et fichiers » (LHS haut) et permettant d'adhésion cible.
Vous passez entre la construction d'objectifs différents de la même manière que vous passez pour la construction ou l'iPhone Simulator.
Pour spécifier au moment de la construction comment une classe spécifique se comporte , vous pouvez faire deux choses - inclure deux versions de la classe qui sont chacun construit pour leur cible respective ou, vous pouvez définir un indicateur de temps de construction pour le pré-processeur. Sélectionnez la cible dans la liste « Groupes et fichiers » puis « obtenir des informations » sur cet objectif. Allez à l'onglet de construction et de recherche pour « prétraiter ». Vous devriez voir un élément appelé « Macros préprocesseur » ajoutez LITEà votre cible lite et de la même manière ajouter PAIDà votre cible payé.
Thein dans vos fichiers source , vous pouvez déterminer au moment de la compilation version que vous compilez pour l' utilisation , #ifdef LITEetc.
Allant encore plus loin, vous pouvez définir une variable membre globale drapeau ou AppDelegate basé sur #ifdef LITE et un changement de comportement à l'exécution de la Lite et les applications payantes. Je ne suis pas sûr que je vois en valeur que si.