iOS múltiples versiones para una aplicación

En realidad, mi aplicación iOS contiene múltiples versiones en el mismo proyecto, cambiadas con un #define en una class estática.

Ejemplo:

#import "AppVersion.h" //... if (MYAPP_VERSION == kMyAppVersionFree) { //Limited features } else if (MYAPP_VERSION == kMyAppVersionFull) { //No limit ! } 

Cada vez que quiero comstackr, tengo que editar mi código para cambiar el #define MYAPP_VERSION, y cambiar el nombre del proyecto, para poder lanzar un ejecutable "MyApp" y "MyApp Free" …

Pregunta:

¿Es posible definir esto como una "variable de compilation"? No quiero tener que editar mi código cada vez que quiero comstackr 2 versiones

¿Cómo puedo crear 2 proyectos, utilizando exactamente la misma fuente (muchas classs) pero con un nombre de aplicación diferente y una info.plist diferente (y, en relación con la pregunta anterior, diferentes "variables de compilation")?

Estoy pidiendo un info.plist diferente porque mi "versión gratuita" no admite el intercambio de files iTunes, pero mi "versión completa" hace …

No sé si explico bien el problema … (perdón por mi inglés …)

Alguna idea ? ¿Cómo gestionas las versiones en tus proyectos?

Gracias por adelantado

Necesita definir objectives para sus diferentes versiones.

Haga clic en la raíz de su proyecto (el ícono xcode azul). Verá la configuration de su proyecto en una tabla. En el lado izquierdo, verá un encabezado "TARGETS", con un hijo, el nombre de su proyecto.

Puede hacer clic derecho en el objective y duplicarlo. Una vez que tenga un duplicado, puede cambiarle el nombre y luego configurarlo por separado. Una de las configuraciones del proyecto son los valores del Preprocesador de GCC. Puede definir variables LITE o FULL basadas en su objective y luego usar #ifdefs en su código para comstackr condicionalmente.

Puede agregar diferentes files pList para diferentes destinos. Simplemente haga clic derecho en los files pList e incluya o excluya los files para cada objective.