65 votes

Comment gérer la construction d'une version Lite vs payée d'une application iPhone?

Je commence à arriver au point où je veux envisager la construction d'un la version lite de mon iPhone. J'ai trouvé quelques petites choses sur le web qui parlent sur le processus un peu, à savoir:

http://developer.apple.com/tools/XCode/XCodeprojects.html

http://www.pacificspirit.com/blog/2009/01/27/building_for_multiple_iphone_targets_in_xcode

Mais je me demandais si quelqu'un d'autre est au courant de tous les liens/ressources qu'ils trouvé bon pour la compréhension de la façon de mieux gérer ce processus? Ce que je suis particulièrement intéressé en est de simplifier le processus de gestion des les fichiers qui sont inclus dans les différentes versions de mon application que je continuellement modifier et d'améliorer ma version de payer pour.

Merci,

Brad.

83voto

Roger Nolan Points 10248

Xcode a une bonne prise en charge de plusieurs cibles.

Dans le menu projet, sélectionnez "Nouvelle Cible...". Ajouter un autre iPhone exécutable (Cocoa Touch Application), vous pouvez spécifier sur une ressource par ressource de base, les éléments qui sont inclus dans votre cible. Cela peut inclure uniquement de la compilation de code dans votre version payante.

Vous pouvez obtenir un aperçu rapide sur ce qui est et n'est pas inclus dans la cible actuelle en cliquant à droite sur les "Groupes" et les Fichiers" en-tête de liste (en haut à gauche) et l'activation de la Cible d'Adhésion.

Vous basculez entre la construction de différentes cibles de la même manière que vous passez d'un bâtiment pour Simulateur ou d'un iPhone.

Pour spécifier au moment de la construction d'une classe se comporte vous pouvez faire deux choses - comprend deux versions de la classe qui sont chacun de leurs cibles respectives ou, vous pouvez définir un temps de construction de pavillon pour le pré-processeur. Sélectionnez la Cible dans la "les Groupes et les Fichiers de liste" puis sur "obtenir des informations" sur cette cible. Accédez à l'onglet construire et de la recherche pour "traiter". Vous devriez voir un n élément appelé "Macros du Préprocesseur" ajouter LITE de votre lite cible et de la même manière ajouter PAID de votre cible.

Thein dans vos fichiers source, vous pouvez déterminer au moment de la compilation de la version de la compilation pour l'utilisation de #ifdef LITE etc.

Il va encore plus loin, vous pouvez définir un indicateur global ou AppDelegate membre de la variable basée sur des #ifdef LITE et le changement de comportement au moment de l'exécution pour la Lite et les applications payantes. Je ne suis pas sûr de voir de la valeur dans que bien.

24voto

Paxic Points 1505

En tant que développeur, vous voulez écrire le moins de code possible (moins de bugs, moins de temps). Que la génération des versions divergent, vous aurez à investir plus de travail et de tests distincts.

Sauf si vous effectuez un coûteux hacker outil que vous pourriez envisager de garder la différence aussi simple que possible - tout simplement avoir caché les préférences ou les paramètres. De cette façon, la majorité des contrôles et des essais qui va faire le même travail dans les deux versions, très peu de code sera différent. La principale préoccupation n'est pas un fardeau pour vous-même en tant que développeur.

La raison de divergences de construit est de s'assurer que le Libre ne peut pas être piraté "Payés" version. Les personnes qui tenteraient de contourner de telles une simple limitation sont principalement un sous-ensemble de ceux qui jailbreak leur téléphone. Peu importe ce que vous faites, vous n'obtiendrez pas leur argent en vertu de toute autre condition que ils sont tellement impressionnés qu'ils achètent juste pour montrer son appréciation.

7voto

Brad Parks Points 5513

Le créateur de "Flower Garden" détaille les avantages / inconvénients de différentes approches pour créer une version allégée ici:

http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour

3voto

Mark Terry Points 61

J'ai trouvé le succès avec:

Tutoriel – Même Xcode Projet de Créer Plusieurs Produits pour iPhone http://adeem.me/blog/2009/04/18/tutorial-same-xcode-project-create-multiple-products-for-iphone/

Il couvre une grande partie de ce que Roger Nolan mentionné dans sa réponse à la question, mais étape par étape, avec des captures d'écran.

Il vous permet d'utiliser le C #ifdef est à inclure ou à exclure de la fonctionnalité dans votre application.

Certains détails n'étaient pas exactement en fait, parce que des différences dans Xcode, j'en suis sûr-mais il n'était pas trop difficile de trouver le bon / nouvelle façon de faire de chaque étape.

REMARQUE: Vous devrez aller pour Apple et d'obtenir un nouvel ID d'application pour la version Lite de votre application. Les étapes décrites dans le tutoriel va créer une copie de l'info.fichier plist, qui vous aurez probablement renommer en quelque chose comme infoLite.plist -- dans ce fichier, vous aurez besoin de changer la "Identifiant de lot" pour correspondre à cette nouvelle appID.

2voto

InFreefall Points 333

Avec iPhone 3.0, vous pouvez utiliser des achats intégrés et permettre ainsi de déverrouiller toutes les fonctionnalités sans avoir à créer plusieurs applications. Je pense aussi que cela évitera aux gens de recevoir ceci gratuitement, mais je n'en suis pas aussi sûr.

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