Imaginons que votre projet est terminé et que vous souhaitiez mettre en place la version lite.
1. Tout d’abord dupliquer la target et nommer le avec le nom du projet et le prefixe Lite (dans notre exemple TechnotGeekLite)
2. Un fichier plist va être crée, renommer le également :
> TechnotGeek copy-Info.plist devient TechnotGeekLite-Info.plist
3. On remarquera que xcode nous indique que le fichier n’existe pas, nous allons corriger cette erreur en lui indiquant le bon fichier à utiliser (celui que l’on vient de renommer)
Allons faire un tour dans l’onglet Build Settings (de la target Lite évidemment), et modifier la ligne « Info.plist file » dans la sous rubrique Packaging en mettant le nom de notre nouveau fichier plist
4. Juste pour être propre, nous allons rapidement changer le nom dans le scheme.
Si on clique dessus on remarquera qu’il y a les 2 targets mais notre version Lite a encore l’ancien nom copy
On va donc choisir Manage Schemes pour changer cela
On a une fenêtre qui va s’ouvrir avec les 2 schemes
Ensuite il suffit de cliquer sur la cellule pour en modifier le nom
5. Pour le moment, on n’a rien fait d’autre que de créer une copie de notre version complète proprement.
Créons le flags Lite/Free (…il a tout compris…)
Aller dans l’onglet Build Settings de votre target Lite/Free et chercher la ligne « Other C Flags »
Pour chaque version Debug et Release ajouter un build settings en cliquant sur le petit +
Ensuite cliquer sur la colonne de droite pour lui ajouter une valeur et ajouter « -DLITE_VER », vous devez obtenir cela
6. Voila le plus gros du travail est fait!
Il suffit maintenant d’utiliser les Preprocessor directives dans le code pour choisir ou pas si un morceau de code est dans la version Lite/Free ou pas
#ifdef LITE_VER NSLog(@"LITE VERSION"); #else NSLog(@"FULL VERSION"); #endif