Opprinnelige svaret fra dagene før i app kjøp. Det riktige svaret er nå å sende en enkel binær og tilby betalt versjon gjennom i app oppgraderinger . Det er litt mer kode, men det er en enkelt forsendelse og konverteringsfrekvensen vil trolig bli bedre.
Men hvis du fortsatt ønsker å versjoner av programmet:
Xcode har god støtte for flere mål.
Fra prosjektet menyen velg "New Target ...". Legg til en annen iPhone kjørbar (Cocoa Touch Application) kan du angi deretter på en resouce av ressursgrunnlaget som er inkludert i målet. Dette kan inkludere bare kompilering bestemt kode inn i betalt versjon.
Du kan få rask visuell tilbakemelding på hva som er og ikke er inkludert i den nåværende målet ved å høyreklikke på "Grupper og filer" -listen header (topp LHS) og aktivere Target medlemskap.
Du bytter mellom å bygge ulike mål på samme måte som du bytter mellom bygningen for Simulator eller iPhone.
Hvis du vil angi at bygge gang hvordan en bestemt klasse oppfører du kan gjøre to ting - inkluderer to versjoner av klassen som hver er bygget for sine respektive mål eller, kan du angi en byggetid flagg for pre-prosessor. Velg Target i "grupper og filer" liste deretter "få info" på det målet. Gå til fanen bygge og søke etter "preprocess". Du skal se et element som heter "Preprocessor makroer" legg LITEtil lite mål, og på samme måte legge PAIDtil betalt mål.
Thein i kildefilene du kan bestemme ved kompilering hvilken versjon du kompilere for bruk #ifdef LITEetc.
Gå enda lenger, kan du sette en global flagg eller AppDelegate medlem variabel basert på # ifdef LITE og endre atferd under kjøring for Lite og betalte apps. Jeg er ikke sikker på at jeg ser verdien i at selv.