2009-08-06 39 views
23

¿Cuál es la diferencia entre estas 2 opciones en el menú desplegable del menú Proyecto? Normalmente ajusto cosas en la Configuración del proyecto (que ajusta info.plist, ¿verdad?).XCode Editar configuración del proyecto vs Editar objetivo activo

Hoy necesitaba cambiar el nombre de mi proyecto. Inicialmente cambié el Product_Name de la ventana Edit Project Settings -> Build. Pero eso no cambió el nombre.

Luego traté de cambiar el Nombre del producto de la ventana Editar objetivo activo -> Crear, y eso pareció ser el truco.

De nuevo, ¿cuál es la diferencia? ¡XCode nunca deja de confundirme cuando estoy empezando a pensar que lo tengo todo resuelto! Argh !!!

Respuesta

54

La configuración del proyecto se aplica a todos los objetivos de su proyecto. La configuración del objetivo se aplica solo a ese objetivo específico. Es probable que solo tenga un objetivo único que puede hacer que los dos conjuntos de configuraciones sean confusos y parezcan redundantes.

Si se establece una configuración (aparece en negrita) tanto para el proyecto como para un objetivo, la configuración del objetivo anula la configuración del proyecto.

Las configuraciones de destino que no están establecidas (no aparecen en negrita) se heredan de la configuración del proyecto. La configuración del proyecto que no está configurada (no aparece en negrita) se hereda de la configuración predeterminada de Xcode.

Si se establece una configuración (ya sea proyecto o destino) (aparece en negrita) y en su lugar desea heredar esa configuración, seleccione la configuración y presione Eliminar.

Le sugiero que prefiera usar la configuración de destino. Utilice la configuración del proyecto para proyectos más grandes y con múltiples destinatarios en los que realmente desea compartir configuraciones entre los objetivos.

+0

Tiene perfecto sentido para mí. ¡Gracias! –

+0

Ok, aquí hay otro relacionado: ¿Cuál es la diferencia entre Active Target y Active Executable? –

+9

Hola Edward, feliz de ayudar. Si está satisfecho con mi respuesta, ¿podría marcarla como la respuesta aceptada? Por favor haga su pregunta relacionada como una nueva pregunta separada. Obtendrás respuestas de mayor calidad de esa manera. –

5

Vale la pena agregar que las propiedades establecidas a nivel de proyecto no se heredan automáticamente de las diferentes configuraciones/objetivos de su proyecto: para heredar propiedades que se establecen a nivel de proyecto, debe establecer el valor $(inherited) en los campos donde realmente quiero heredar tales propiedades.

+1

Este es un consejo muy útil. En realidad estaba tratando de resolver esto. ¡Gracias! – Imran

Cuestiones relacionadas