¿Cómo establecer dependencias del proyecto Xcode con diferentes configuraciones de compilación?

Tengo un espacio de trabajo Xcode 7.3 con tres proyectos, App, FrameworkA y FrameworkB. Cada proyecto tiene un solo objetivo. Esto es iOS, por lo que los objetivos del marco son Cocoa Touch Frameworks, lo que significa marcos que contienen bibliotecas compartidas vinculadas dinámicamente.

La aplicación depende del Marco A, que depende del Marco B. Estas dependencias funcionan, en la medida en que A se vincule correctamente al producto de compilación de B, y la Aplicación se vincule e incruste ambos marcos A y B (porque no puede tener un marco incrustando otro , parece que un paquete de aplicaciones necesita vincular e incrustar dependencias directas y transitivas).

Pero éste es mi problema. Los marcos A y B tienen las configuraciones de compilación habituales, Debug and Release. La aplicación tiene una configuración de compilación adicional, LocalRelease, que se activa mediante la acción Ejecutar compilación, y se utiliza para construir una compilación optimizada (como Release) pero un código firmado con una identidad de desarrollador (como Debug).

Cuando intento compilar una aplicación con esta configuración de compilación de LocalRelease, esto rompe la compilación ya que rompe las dependencias de los marcos A y B. Creo que es porque estos marcos no tienen configuraciones de compilación de LocalRelease, por lo que Xcode nunca pone sus productos de compilación en un Carpeta LocalRelease-iphoneos, como lo hace con la aplicación.

Entonces, mi pregunta estrecha es, ¿cómo configuro la configuración de compilación para que un proyecto con un nombre de configuración de compilación no estándar (como LocalRelease) pueda depender de otros proyectos que usan solo los nombres de configuración de compilación estándar? Espero que haya una manera simple de hacer esto que no requiera agregar scripts o archivos xcconfig, pero si es necesario, me encantaría entender por qué.

Y mi pregunta más amplia es, ¿es en general una mala idea introducir configuraciones de compilación adicionales porque no permiten una interacción fluida de las dependencias entre proyectos en un espacio de trabajo compartido? Me llevaron a definir esta tercera configuración porque quería una compilación local optimizada, no quería definir un nuevo esquema, y quería que la elección del tipo de compilación se expresara por las diversas acciones de compilación (ejecución, perfil, lanzamiento) de Un esquema único.

Pero tal vez esta era la forma incorrecta de hacerlo. Siempre y cuando los nombres de configuración de compilación conduzcan rutas de directorio de productos de compilación y los proyectos dependientes necesiten encontrar los productos de compilación de cada uno en un directorio compartido, parece que introducir un nombre de configuración de compilación no estándar en un proyecto interrumpirá la interoperación con dependía de otros proyectos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta