Come faccio a gestire la costruzione di una Lite vs versione a pagamento di un'applicazione per iPhone?

voti
62

Sto iniziando a arrivare al punto dove voglio prendere in considerazione la costruzione di una versione lite del mio iPhone app. Ho trovato un paio di cose sul web che parlare del processo un po ', vale a dire:

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

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

Quello che mi interessa è specificamente semplificare il processo di gestione quali file sono inclusi nelle diverse versioni di mia app come ho continuamente modificare e migliorare il mio pagato per la versione.

È pubblicato 14/02/2009 alle 19:03
fonte dall'utente
In altre lingue...                            


7 risposte

voti
81

Risposta originale è da giorni precedenti in app purchase. La risposta corretta è ora quello di spedire un unico binario e di offrire la vostra versione a pagamento attraverso in aggiornamenti app . E 'un po' più codice, ma si tratta di una singola spedizione e il tasso di conversione sarà probabilmente migliore.

Tuttavia, se si vuole ancora versioni della tua app:

Xcode ha un buon supporto per più bersagli.

Dal menu progetto selezionare "Nuova destinazione ...". Aggiungere un altro eseguibile iPhone (Cocoa Touch Application) è possibile specificare su un resouce dalla base di risorse quali elementi sono inclusi nel vostro obiettivo. Questo può includere solo la compilazione di certo codice nella tua versione a pagamento.

È possibile ottenere rapidamente un feedback visivo di ciò che è e non è incluso nel target corrente facendo clic destro su "Gruppi e file" lista di intestazione (top sx) e consentendo di destinazione appartenenza.

Si passa da costruzione diversi obiettivi nello stesso modo in cui si passa da costruzione per il simulatore o iPhone.

Per specificare al momento della compilazione come una specifica classe si comporta si possono fare due cose - includere due versioni della classe che sono ogni costruito per il loro rispettivo bersaglio oppure, è possibile impostare un flag tempo di costruzione per il pre-processore. Selezionare la destinazione nella lista "Gruppi e dei file", quindi "Ottieni informazioni" su quel bersaglio. Vai alla scheda di compilazione e la ricerca di "pre-elaborazione". Si dovrebbe vedere un oggetto chiamato "preprocessore macro" aggiunge LITEal vostro obiettivo lite e allo stesso modo di aggiungere PAIDal vostro obiettivo a pagamento.

Thein nei file di origine è possibile determinare al momento della compilazione quale versione si compila per l'utilizzo #ifdef LITEetc.

Andando ancora oltre, si potrebbe impostare un flag globale o variabile membro AppDelegate sulla base di #ifdef LITE e cambiare il comportamento in fase di esecuzione per la Lite e applicazioni a pagamento. Non sono sicuro che vedo valore in quella però.

Risposto il 14/02/2009 a 19:59
fonte dall'utente

voti
24

Come sviluppatore si desidera scrivere il meno codice possibile (meno bug, meno tempo). Come le versioni di build divergono si dovrà investire di più lavoro e di test separati.

A meno che non si stanno facendo uno strumento di hacker costoso si potrebbe considerare mantenendo la differenza più semplice possibile - basta avere alcune preferenze o le impostazioni nascoste. In questo modo la maggior parte dei controlli e delle prove farà lo stesso lavoro in entrambe le costruisce, pochissimo codice sarà diverso. La principale preoccupazione è di non gravare te stesso come sviluppatore.

Il motivo per avere divergenti costruisce è quello di garantire che il libero non può essere violato in una versione "pagato". Le persone che cercare di aggirare una semplice limitazione quali sono in primo luogo un sotto insieme di coloro che vorrebbero jailbreak loro telefoni. Non importa quello che fai non sarà possibile ottenere i loro soldi in qualsiasi condizione di diverso da quello che sono così entusiasmato lo comprano solo per mostrare apprezzamento.

Risposto il 14/02/2009 a 22:30
fonte dall'utente

voti
7

Il creatore di "Garden Flower" dettagli i pro / contro di diversi approcci per la creazione di una versione lite qui:

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

Risposto il 18/02/2009 a 01:09
fonte dall'utente

voti
3

Ho trovato il successo con:

Tutorial - progetto Xcode Same creare prodotti multipli per iPhone http://adeem.me/blog/2009/04/18/tutorial-same-xcode-project-create-multiple-products-for-iphone/

Esso copre molto di quello che Roger Nolan menzionato nella sua risposta alla domanda, ma passo dopo passo con schermate.

Esso consente di utilizzare C # ifdef di includere o escludere la funzionalità nella vostra applicazione.

Alcuni dei dettagli non erano esattamente a destra - a causa delle differenze di Xcode sono sicuro - ma non era troppo difficile da capire il modo corretto / di nuovo da fare ogni passo.

NOTA: Dovrete andare ad Apple e ottenere un nuovo ID app per la versione Lite della vostra applicazione. La procedura descritta nel tutorial creerà una copia del file info.plist, che probabilmente rinominato a qualcosa come infoLite.plist - in questo file di cui ha bisogno per cambiare il "Bundle Identifier" per abbinare questa nuova appID .

Risposto il 14/09/2009 a 05:35
fonte dall'utente

voti
2

Con iPhone 3.0, è possibile utilizzare gli acquisti in-app, invece e permettere che per sbloccare la piena funzionalità, senza dover fare più di un app. Penso anche che questo eviterà la gente ottenere questo gratuitamente, ma io non sono così sicuro di questo.

Risposto il 13/11/2009 a 23:28
fonte dall'utente

voti
1

Ho usato un ramo git. Ho ramificato mia app principale e ha fatto un paio di modifiche per disabilitare un gruppo di contenuti. Ora lavoro principalmente nel ramo principale e passare a lite e unire nella più recente quando si verificano importanti sviluppi. Funziona molto bene.

Risposto il 14/02/2009 a 20:38
fonte dall'utente

voti
0

L'approccio migliore è quello di avere solo un singolo progetto, con obiettivi multipli, invece - uno per ogni versione della vostra applicazione. Ma quali sono gli obiettivi: Obiettivi multipli

Risposto il 03/06/2015 a 09:56
fonte dall'utente

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