2012-09-19 20 views
20

me he dado cuenta de que esto funciona en modo dev (pruebas en el simulador, etc):Xcode Modo DEBUG: ¿cuándo está encendido/apagado?

#ifdef DEBUG 
    //do stuff 
#endif 

Pero cuando archivar y distribuir prueba se basa, la aplicación no actúa en modo de depuración a pesar de que todavía estoy construyendo con el perfil de desarrollador. Me gustaría que el modo DEBUG siempre sea el caso a menos que construya con el perfil de implementación y lo envíe a Apple.

Por ejemplo, al enviar prueba construye a cabo, no quiero que la gente se compre una compra en la aplicación, por lo que hacer algo como esto:

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

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

también lo hacen también necesito fijar una preprocesador macro DEBUG = 1 para "Release"?

Respuesta

14

enter image description here

Puede también "Editar Esquema" para construir configuración de depuración cuando el archivado. Vea la captura de pantalla del diálogo "Editar esquema" en XCode.

+0

Así que debería ser capaz de simplemente cambiar "Liberar" a "Depurar" en la configuración de compilación de archivos ¿verdad? – soleil

+0

sí, pero debe cambiarlo para liberarlo antes de enviarlo a Apple. – msk

+0

Tengo un esquema diferente para AppStore. – soleil

16

La versión actual de Xcode establece automáticamente la macro DEBUG en nuevos proyectos. Sin embargo, lo hace solo para el modo de compilación Debug.

Puede editar esto en sus proyectos Configuración de compilación.

Te recomiendo que agregues una nueva macro por separado en lugar de editar la de DEPURACIÓN. Tal vez podría agregar una macro DISTRIBUTION o DEPLOYMENT solo para el modo de lanzamiento.

enter image description here

+0

¿Pero no puedo simplemente decir DEBUG = 1 para Release Mode? – soleil

+3

Puedes. Pero ese tipo de derrotas su propósito. – DrummerB

Cuestiones relacionadas