2012-02-27 27 views
7

Estoy usando testflightapp.com SDK en mi proyecto para rastrear los bloqueos durante la prueba beta que se realiza en testflightapp.com. Tengo 2 objetivos en mi proyecto de Xcode, que son "ad-hoc" y "tienda de aplicaciones".¿Cómo hacer una compilación condicional basada en nombres de destino?

Para iniciar SDK testflight, necesito para sofocar una línea de código en el AppDelegate.m como:

[TestFlight takeOff:@"67bebb8d8e5396a...A4LjQwNjQ4NA"]; 

Ahora, quiero que el compilador para excluir esta línea de código cuando compilo para el objetivo "tienda de aplicaciones", porque no tiene sentido activar SDK testflight cuando se publica.

Estoy esperando algo como #ifdef, pero no pude obtener una idea buscando en el foro.

Respuesta

10

Se puede utilizar un user-defined build setting que se establece en la configuración de generación para cada objetivo, y luego usar una directiva #if o #ifdef para probar esa configuración. Por ejemplo, seleccione su destino "ad-hoc", haga clic en "Configuración de compilación" y desplácese hacia abajo a la sección "Definido por el usuario". A continuación, simplemente haga clic en el botón 'Agregar configuración de compilación' y elija 'Agregar configuración definida por el usuario'. Puede establecer diferentes valores para su configuración para cada configuración de compilación (depuración, versión, etc.).

Picture of relevant Xcode settings

+1

bueno, gracias por la respuesta rápida. No pude encontrar la "configuración definida por el usuario" que mencionaste, sin embargo, encontré "Preprocessor Marcros" (hay un DEBUG = 1 definido para la depuración, por lo que definí un TESTFLIGHT = 1) que puede satisfacer mi necesidad. ¡GRACIAS! –

+0

Se ha agregado una imagen para ilustrar la configuración de compilación definida por el usuario. – Caleb

+0

sí, soy una estúpida, intenté buscar con "usuario", que no resultó nada. está bien, es una sección, gracias –

Cuestiones relacionadas