Comment gérer la construction d'un Lite vs version payante d'une application iPhone?

voix
62

Je commence à arriver au point où je veux envisager la construction d'une version allégée de mon application iPhone. Je l'ai trouvé quelques petites choses sur le web qui parlent du 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

Ce que je suis particulièrement intéressé est de simplifier le processus de gestion des fichiers qui sont inclus dans les différentes versions de mon application comme je modifie sans cesse et Enrichir mon payé pour la version.

Créé 14/02/2009 à 19:03
source utilisateur
Dans d'autres langues...                            


7 réponses

voix
81

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.

Créé 14/02/2009 à 19:59
source utilisateur

voix
24

En tant que développeur vous voulez écrire le moins possible le code (moins de bugs, moins de temps). Comme les versions de construction vous diverger devrez investir plus de travail et des essais séparés.

À moins que vous faites un outil hacker coûteux que vous pourriez envisager de garder la différence aussi simple que possible - avoir juste des préférences cachées ou les paramètres. De cette façon, la majorité des contrôles et des tests fera le même travail dans les deux builds, sera différent très peu de code. La principale préoccupation est de ne pas surcharger vous-même en tant que développeur.

La raison d'avoir construit divergent est de garantir que le libre ne peut pas être piraté une version « payé ». Les gens qui essaierait de contourner cette limitation simple, sont principalement un sous ensemble de ceux qui jailbreak leur téléphone. Peu importe ce que vous faites vous pas obtenir leur argent sous aucune condition autre que ce qu'ils sont tellement épaté qu'ils achètent juste pour montrer son appréciation.

Créé 14/02/2009 à 22:30
source utilisateur

voix
7

Le créateur de « Flower Garden » détaille les avantages / inconvénients des différentes approches pour créer une version lite ici:

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

Créé 18/02/2009 à 01:09
source utilisateur

voix
3

J'ai trouvé avec succès:

Tutorial - même projet Xcode Créer des produits multiples 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 de C # ifdef pour inclure ou exclure la fonctionnalité dans votre application.

Certains détails n'étaient pas tout à fait exact - en raison des différences dans Xcode je suis sûr - mais il est pas trop difficile de trouver la bonne façon / nouveau à faire chaque étape.

REMARQUE: Vous devez aller à Apple et obtenir un nouveau code d'application pour la version Lite de votre application. Les étapes décrites dans le tutoriel va créer une copie du fichier Info.plist, que vous aurez probablement quelque chose comme à renommer infoLite.plist - dans ce fichier, vous devrez changer le « Bundle Identifier » pour correspondre à cette nouvelle appID .

Créé 14/09/2009 à 05:35
source utilisateur

voix
2

Avec iPhone 3.0, vous pouvez utiliser en app achats à la place et permettre que pour déverrouiller toutes les fonctionnalités sans avoir à faire plus d'une application. Je pense aussi que cela permettra d'éviter les gens obtenir cela gratuitement, mais je ne suis pas aussi sûr.

Créé 13/11/2009 à 23:28
source utilisateur

voix
1

J'ai utilisé une branche git. Je bifurqué mon application principale et fait quelques modifications pour désactiver un tas de contenu. Maintenant, je travaille principalement dans la branche principale et passer à lite et fusionner plus tard lors de développements majeurs se produisent. Fonctionne très bien.

Créé 14/02/2009 à 20:38
source utilisateur

voix
0

La meilleure approche est d'avoir un seul projet, avec plusieurs cibles au lieu - une pour chaque version de votre application. Alors , quels sont les objectifs: Les objectifs multiples

Créé 03/06/2015 à 09:56
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more