Hoe beheer ik het bouwen van een Lite vs betaalde versie van een iPhone app?

stemmen
62

Ik begin het punt te komen waar ik wil overwegen een lite versie van mijn iPhone app. Ik heb een paar dingen op het Web die praten over het proces een beetje, namelijk gevonden:

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

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

Wat ik met name geïnteresseerd in is het vereenvoudigen van het proces van het beheren welke bestanden zijn opgenomen in de verschillende versies van mijn app zoals ik voortdurend aan te passen en te verbeteren mijn betaalde versie.

De vraag is gesteld op 14/02/2009 om 19:03
bron van user
In andere talen...                            


7 antwoorden

stemmen
81

Original antwoord komt uit de dagen voor in-app aankoop. Het juiste antwoord is nu om een enkele binaire verzenden en bied uw betaalde versie door middel van in-app upgrades . Het is iets meer code, maar het is een enkele zending en uw succespercentage zal waarschijnlijk beter zijn.

Echter, als je nog wilt versies van uw app:

Xcode heeft een goede ondersteuning voor meerdere doelen.

Vanuit het menu project selecteren "Nieuwe Target ...". Voeg nog een iPhone executable (Cocoa Touch Application) kunt u dan aangeven op een resouce op basis hulpbron die items zijn opgenomen in uw doelgroep. Dit kan onder meer alleen het opstellen van bepaalde code in uw betaalde versie.

U kunt snelle visuele feedback over wat wel en niet is opgenomen in de huidige doelstelling door rechts te klikken op de "Groepen en bestanden" lijst header (boven la) en het mogelijk maken Target lidmaatschap krijgen.

U schakelt tussen de bouw van verschillende doelen op dezelfde manier als u schakelt tussen bouwen voor Simulator of iPhone.

Om aan te geven bij het bouwen hoe een specifieke klasse gedraagt kun je twee dingen doen - onder andere twee versies van de klasse die elk zijn gebouwd voor hun doel of kunt u een bouwtijd vlag ingesteld voor de pre-processor. Selecteer het doel in de "Groepen en bestanden" lijst en "get info" op dat doel. Ga naar het tabblad build en zoek naar "preprocess". Je moet een item genaamd "Preprocessor macro's" zien toevoegen LITEaan uw lite doel en op dezelfde manier toe te voegen PAIDaan uw betaalde doel.

Thein in uw bronbestanden die u kunt bepalen tijdens het compileren welke versie u het opstellen voor het gebruik #ifdef LITEetc.

Gaan nog verder, kon u een globale vlag of AppDelegate lid variabele gebaseerd op #ifdef LITE te stellen en gedrag te veranderen tijdens runtime voor de Lite en betaalde apps. Ik weet niet of ik zie waarde in dat, hoewel.

antwoordde op 14/02/2009 om 19:59
bron van user

stemmen
24

Als ontwikkelaar u wilt de minst code mogelijk (minder fouten, minder tijd) te schrijven. Als de build versies uiteenlopen je zal moeten meer werk en afzonderlijke tests te investeren.

Tenzij u het maken van een dure hacker tool die je zou kunnen overwegen zo eenvoudig mogelijk houden van het verschil - gewoon wat verborgen voorkeuren of instellingen. Op deze manier de meerderheid van de controles en tests zullen hetzelfde werk te doen in beide bouwt, zal zeer weinig code verschillend zijn. De belangrijkste zorg is niet om jezelf te belasten als ontwikkelaar.

De reden uiteenlopende bouwt hebben is om ervoor te zorgen dat de Free niet kan worden gehackt in een "Betaalde" versie. De mensen die zouden proberen te omzeilen zo'n simpele beperking zijn in de eerste plaats een subgroep van degenen die hun telefoons zouden jailbreaken. Het maakt niet uit wat je doet zal je niet krijgen hun geld onder alle omstandigheden anders dan ze zo enthousiast dat ze gewoon kopen om waardering te tonen.

antwoordde op 14/02/2009 om 22:30
bron van user

stemmen
7

De maker van "Flower Garden" beschrijft de voor- / nadelen van verschillende benaderingen van het creëren van een lite versie hier:

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

antwoordde op 18/02/2009 om 01:09
bron van user

stemmen
3

Ik vond succes met:

Tutorial - Zelfde Xcode Project Maak meerdere producten voor de iPhone http://adeem.me/blog/2009/04/18/tutorial-same-xcode-project-create-multiple-products-for-iphone/

Het beslaat een groot deel van wat Roger Nolan genoemd in zijn antwoord op de vraag, maar stap-voor-stap met schermafdrukken.

Hiermee kunt u gebruik maken van C # ifdef's op te nemen of uit te sluiten functionaliteit in uw app.

Een deel van de gegevens waren niet precies goed - als gevolg van verschillen in Xcode Ik ben er zeker van - maar het was niet al te moeilijk te achterhalen van de juiste / nieuwe manier om elke stap te doen.

LET OP: Je moet naar Apple en krijgen een nieuwe app-ID voor de Lite-versie van uw app. De in de tutorial, leidt ertoe dat een kopie van het info.plist bestand, dat je waarschijnlijk hernoemen naar iets als infoLite.plist creëren stappen - in dit bestand moet u de "Bundle Identifier" veranderen om deze nieuwe appID overeenkomen .

antwoordde op 14/09/2009 om 05:35
bron van user

stemmen
2

Met de iPhone 3.0, kunt u gebruik maken van in-app aankopen in plaats en laat dat de volledige functionaliteit te openen zonder dat u meer dan één app te maken. Ik denk ook dat deze mensen krijgen van deze gratis zal vermijden, maar ik ben niet zo zeker van.

antwoordde op 13/11/2009 om 23:28
bron van user

stemmen
1

Ik gebruikte een git branch. Ik vertakt mijn belangrijkste app en maakte een paar tweaks om een ​​bos van materiaal uit te schakelen. Nu werk ik voornamelijk in de master branch en over te schakelen op lite en samen te voegen in de nieuwste wanneer er belangrijke ontwikkelingen voordoen. Werkt erg goed.

antwoordde op 14/02/2009 om 20:38
bron van user

stemmen
0

De betere aanpak is om slechts één project, met meerdere doelen in plaats - een voor elke versie van uw app. Dus wat zijn doelstellingen: meerdere doelen

antwoordde op 03/06/2015 om 09:56
bron van user

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