2011-03-18 14 views
8

Estoy ejecutando xcodebuild desde la línea de comandos y con frecuencia cambio PRODUCT_NAME para distinguir entre versiones y puntos finales del servidor (es decir, MyProduct.r1234staging). Esto construye varios objetivos dependientes que son bibliotecas estáticas, y luego la aplicación final. En la versión xcode 3 del comando, PRODUCT_NAME solo afectó al producto final, no a las bibliotecas. Sin embargo, ahora parece que también está estableciendo esos nombres para las bibliotecas (es decir, compilando libMyProduct.r1234staging.a).xcodebuild El argumento PRODUCT_NAME afecta a todos los destinos

¿Este comportamiento es esperado?

+1

Me encontré con el mismo problema, muy irritante. – Jonah

Respuesta

13

Cómo me fijo esto:

  1. Añadir CUSTOM_BUNDLE_IDENTIFIER y CUSTOM_PRODUCT_NAME en la sección definida por el usuario de configuración de generación.
  2. Agregue un archivo .xcconfig al proyecto con CUSTOM_PRODUCT_NAME y CUSTOM_BUNDLE_IDENTIFIER establecido en los valores nominales.
  3. Establezca el nombre del producto en $ {CUSTOM_PRODUCT_NAME} y agrupe el nombre en $ {CUSTOM_BUNDLE_IDENTIFIER} en info.plist.
  4. Establezca el nombre del producto en $ {CUSTOM_PRODUCT_NAME} en la configuración de compilación.

Cuando deseo cambiar algunos de los valores, creo un nuevo archivo xcconfig y especifico ese archivo xcconfig usando -xcconfig param para xcodebuild. Esto le permite cambiar la configuración sobre la marcha.

Cuestiones relacionadas