2012-01-23 34 views
11

Acabo de configurar three different configurations en mi proyecto para debugpreview y release. No en Xcode hay una opción para especificar diferentes archivos .xconfig por configuración. Ahora me pregunto en qué circunstancias deberían/​​podrían usarse y cuáles son sus ventajas simplemente editando el build settings por configuración.Cuándo utilizar archivos .xcconfig

Respuesta

8

Usa los archivos xcconfig si cambias la misma configuración de compilación para cada proyecto que crees. Coloque la configuración de compilación que está cambiando en el archivo xcconfig. Al usar un archivo xcconfig, puede evitar editar esas configuraciones de compilación cada vez que crea un proyecto.

Tener la opción de utilizar diferentes archivos xcconfig para cada configuración de compilación le permite colocar la configuración de compilación de depuración que está cambiando constantemente en un archivo xcconfig y colocar la configuración de compilación de versiones que está modificando en otro archivo xcconfig. Utilice varios archivos xcconfig si la configuración de compilación que está modificando tiene valores diferentes para las compilaciones de depuración y liberación o si modifica algunas configuraciones de compilación solo para compilaciones de depuración y otras configuraciones de compilación solo para compilaciones de versiones.

+0

Consejo profesional: puede usar '#include" shared.xcconfig_include "' dentro de estos archivos para incluir opciones compartidas en los archivos de versión/depuración. –

2

Una forma en que he usado los archivos xcconfig es configurar diferentes BundleId para aplicaciones de iPhone. De esta forma, puede tener diferentes aplicaciones habilitadas con diferentes características/servidores. Muy útil. Implica usar un nombre de variable para BundleId.

+3

¿Podría agregar un ejemplo? – Besi

5

No soy yo a quien has preguntado sobre un ejemplo @Besi pero me gustaría explicar por qué el cambio de BundleId es útil al menos para mí.

Cuando tengo diferentes requisitos para "Desarrollo", "Ad Hoc", "App Store", por ejemplo, tengo que enviar Notificaciones Push, por lo que el certificado push será diferente según la versión.

En este caso puedo hacer 3 esquemas de XCode diferentes y dependiendo del esquema elegido, al compilar el identificador del paquete cambiará para que se produzca un tipo diferente de versión.

Agregue a esto el hecho de que puede usar su xcconfig para elegir la "Identidad del signo de código" y prácticamente todas las configuraciones que pueda imaginar. De esta manera es más correcto que tener objetivos diferentes para cada versión y con diferentes archivos plist y configuraciones de compilación, ya que evita la duplicación y puede personalizar la forma en que las configuraciones deben anularse entre sí.

Disculpa si esto es muy intrincado, traté de responder la pregunta original en el proceso.

+0

¿Cómo cambia exactamente el identificador del paquete basado en el esquema de Xcode? ¿Acciones previas a la construcción? – Legoless