2012-09-19 18 views
20

Ho notato che questo funziona in modalità dev (test sul simulatore, ecc):Modalità DEBUG Xcode - quando è acceso/spento?

#ifdef DEBUG 
    //do stuff 
#endif 

Ma quando l 'archiviazione e la distribuzione di test costruisce, l'applicazione non agisce in modalità debug, anche se io sono ancora costruire con il profilo sviluppatore. Vorrei che la modalità DEBUG fosse sempre valida a meno che non costruisca con il profilo di distribuzione e invii ad Apple.

Ad esempio, quando l'invio di prova costruisce fuori, io non voglio fare la gente compra un acquisto in-app, quindi mi fanno qualcosa di simile:

- (BOOL)isUpgradePurchased 
{ 
#ifdef DEBUG 
    return YES; 
#endif 

//do the real stuff to determine if purchased and return YES or NO 
} 

Anch'io anche bisogno di impostare un macro preprocessore DEBUG = 1 per "Release"?

risposta

14

enter image description here

È possibile anche "Modifica schema" per costruire configurazione di debug quando l'archiviazione. Vedi screenshot della finestra di dialogo "Modifica schema" in XCode.

+0

Quindi dovrei essere in grado di cambiare semplicemente "Release" in "Debug" nella configurazione di archiviazione degli archivi? – soleil

+0

sì, ma devi modificarlo per il rilascio prima di inviarlo ad Apple. – msk

+0

Ho uno schema diverso per AppStore. – soleil

16

La versione corrente di Xcode imposta automaticamente la macro DEBUG in nuovi progetti. Lo fa solo per la modalità di compilazione di Debug.

È possibile modificare questo nei progetti Impostazioni di creazione.

Si consiglia di aggiungere una nuova macro separata invece di modificare quella DEBUG. Forse potresti aggiungere una macro DISTRIBUTION o DEPLOYMENT solo per la modalità di rilascio.

enter image description here

+0

Ma non posso anche solo dire DEBUG = 1 per la modalità di rilascio? – soleil

+3

Puoi. Ma questo tipo di sconfigge il suo scopo. – DrummerB

Problemi correlati