2011-04-14 11 views
15

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

Ejemplo:

#import "AppVersion.h" 

//... 

if (MYAPP_VERSION == kMyAppVersionFree) { 
    //Limited features 
} 
else if (MYAPP_VERSION == kMyAppVersionFull) { 
    //No limit ! 
} 

Cada vez que quiero compilar, tengo que modificar mi código para cambiar el MYAPP_VERSION #define, y cambiar el nombre del proyecto, para poder lanzar un "MyApp" y ejecutables "MiApl libres" ...

pregunta:

¿es posible definir esto como una "variable recopilatorio"? No quiero tener que editar mi código cada vez que quiero compilar 2 versiones

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

estoy pidiendo una info.plist diferente porque mi "versión libre" no es compatible con iTunes para compartir archivos, pero mi "versión completa" hace ...

No sé si me explico el problema es bueno ... (lo siento por mi inglés ...)

¿Alguna idea? ¿Cómo maneja las versiones en sus proyectos?

Gracias de antemano

Respuesta

22

es necesario definir objetivos para sus diversas versiones.

Haga clic en la raíz de su proyecto (el icono xcode azul). Verá la configuración de su proyecto en una tabla. En el lado izquierdo, verá el encabezado "OBJETIVOS", con un niño, el nombre de su proyecto.

Puede hacer clic derecho en el objetivo 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 GCC. Puede definir variables LITE o FULL en función de su objetivo y luego usar #ifdefs en su código para realizar una compilación condicional.

Puede agregar diferentes archivos pList para diferentes destinos. Simplemente haga clic con el botón derecho en los archivos pList e incluya o excluya los archivos para cada objetivo.

+0

Perfecto, fue tan fácil ... ¡gracias! – ingham

+0

@ingham No hay problema :) – RedBlueThing

+1

¿Cómo se ve eso en Xcode 4? ¿Y cómo le dices a Xcode que cree o archive una aplicación creando un objetivo específico? – dontWatchMyProfile

Cuestiones relacionadas