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.