Pregunta

Tengo un proyecto XCode ( A ) que hace referencia a otro proyecto ( B ). Por defecto (hasta donde lo entiendo) XCode construirá implícitamente la configuración para la dependencia B que coincide con la configuración del objetivo de A (por ejemplo, " Debug " ;). Pero qué pasa si quiero, por ejemplo, A para compilar como " Debug " y el B para compilar como " Release " ;? ¿Cómo podría especificar eso en XCode?

¿Fue útil?

Solución

No conozco ningún método sencillo, pero puedes forzarlo bruscamente llamando a xcodebuild directamente para la dependencia con un " Ejecutar script " fase de construcción.

Sé que solo fue un ejemplo, pero si su objetivo real es que el subproyecto sea una versión de lanzamiento (sin símbolos), entonces puede tener una mejor experiencia con solo construir el subproyecto en una biblioteca o marco. y verificando el binario resultante en su sistema de control de versiones. Siempre que tengo una parte del sistema que rara vez cambia y que no quiero símbolos de depuración, sigo adelante, la construyo como una biblioteca estática y la registro. A menudo también avanzo y muevo el código a otra parte (con un archivo README con el .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.

Otros consejos

Esto podría ayudar: si no se encuentra la configuración del proyecto A , Xcode construirá la configuración de Release como una alternativa (o quizás la primera configuración de la lista) .

Entonces puedes " fuerza " el enlace que utiliza este consejo: Xcode custom la configuración de la compilación provoca que " biblioteca / archivo no encontrado " para bibliotecas estáticas

Sí, esto no es naturalmente compatible con Xcode; cuando creas un objetivo, crea una configuración de sí mismo y de todos los destinos dependientes.

La solución alternativa, como mencionó Rob, es tener un destino dependiente que sea un tipo de objetivo agregado que comprenda una única fase de compilación del script de ejecución, que simplemente invoque xcodebuild -configuration Release (o lo que sea).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top