2011-10-21 14 views
23

Ho due obiettivi impostati per la mia app (una versione lite e una versione pro) e voglio integrare alcune sottili differenze nel codice per ognuno di essi (ad esempio la versione pro non mostrerà alcun banner iAd).Come definire i macro del preprocessore in Xcode 4?

Mi sono guardato intorno e vedo che il modo più semplice per farlo è attraverso l'uso delle macro del preprocessore. Il problema che sto affrontando è come impostarli in Xcode 4. Voglio impostare una macro chiamata 'PRO_VERSION' in un obiettivo & 'LITE_VERSION' nell'altro.

Di seguito è un esempio di come ho intenzione di usarli:

#ifdef PRO_VERSION 
    // Hide ad banners 
#else 
    // Show ad banners 
#endif 
+0

Controllare qui: http://stackoverflow.com/questions/5272296/how-to-add-preprocessor-define-globally-for-debug-configuration-in-xcode-4 – Carter

+0

Questo è sottilmente diverso a quello che sto cercando - Grazie però. –

risposta

40

L'impostazione di build che è necessario modificare è denominata "Macro preprocessore" e può essere trovata nella scheda "Impostazioni di creazione" del riquadro Impostazioni progetto (utilizzare la casella di ricerca per trovarla). Seleziona ciascun obiettivo a turno nella parte sinistra del riquadro Impostazioni progetto, quindi modifica l'impostazione Macro preprocessore.

L'impostazione viene specificata come un elenco separato da spazi di macro del preprocessore nel formato 'foo' o 'foo = bar'.

+0

Grazie per il vostro aiuto. Devo aggiungerli a debug, release o entrambi? –

+0

Entrambi. Avete bisogno delle vostre versioni pro e lite per compilare correttamente le configurazioni di debug e release. –

+1

Giusto per chiarire. Dovresti selezionare il tuo target "Pro" e quindi aggiungere "PRO_VERSION" all'impostazione Macro preprocessore sia per il debug che per il rilascio. Non devi fare nulla per il target 'Lite'. –

3

io non sono sul mio Mac al momento, quindi non posso dare piena indicazioni passo-passo, ma io credo che questo dovrebbe essere accurato, se non dettagliato come sarei altrimenti. Crea un nuovo obiettivo di build. Vai alla schermata di configurazione per questo nuovo obiettivo. Ci dovrebbe essere una scheda lungo le linee delle opzioni di compilazione. In questa scheda dovrebbe esserci una riga per gli altri flag del compilatore. In là, inserisci -DPRO_VERSION.