2009-10-23 8 views
11

Tengo un proyecto XCode (A) que hace referencia a otro proyecto (B). Por defecto (hasta donde yo lo entiendo) XCode construirá implícitamente la configuración para la dependencia B que coincida con la configuración del objetivo A (por ejemplo, "Depurar"). Pero, ¿y si quiero, digamos, A construir como "Debug" y B para construir como "Release"? ¿Cómo voy a especificar eso en XCode?Especificación de la configuración de un subproyecto en el código X

Respuesta

4

No conozco ningún enfoque fácil, pero se puede usar la fuerza bruta llamando directamente a xcodebuild para la dependencia con una fase de compilación "Ejecutar script".

Sé que fue solo un ejemplo, pero si su objetivo real es que el subproyecto sea una versión Release (sin símbolos), entonces puede tener una mejor experiencia al simplemente construir el subproyecto en una biblioteca o marco y verificando el binario resultante en su sistema de control de versiones. Cada vez que tengo una pieza del sistema que rara vez cambia y para la que no quiero símbolos de depuración, sigo adelante y la construyo como una biblioteca estática y la controlo. A menudo sigo adelante y muevo el código a otro lugar también (con un archivo README con la .a que dice dónde está el código y cómo se construyó). Esto ahorra tiempo tanto en la compilación como en el proceso de pago y es invaluable para proyectos grandes en mi experiencia.

+0

Sí, un valioso consejo - gracias! – fbrereto

3

Sí, esto no es compatible con Xcode; Cuando construyes un objetivo, construye una configuración de sí mismo y de todos los objetivos dependientes.

La solución temporal, como mencionó Rob, es tener un objetivo dependiente que sea un tipo de objetivo Agregado que comprenda una sola fase de compilación Run Script, que simplemente invoca xcodebuild -configuration Release (o lo que sea).

Cuestiones relacionadas