2011-09-24 33 views
7

He encontrado varias referencias a una configuración de compilación en XCode llamada EXCLUDED_SOURCE_FILE_NAMES? El siguiente patrón indica cómo funciona. Pero no puedo entender cómo usar esta opción en XCode (4.02).¿Cómo uso EXCLUDED_SOURCE_FILE_NAMES en XCode 4 (iOS)

"EXCLUDED_SOURCE_FILE_NAMES [SDK = iPhoneOS *] [arco = *]" = ...

El objetivo es tener uno o más archivos de origen compilan cuando el objetivo es el simulador, y un conjunto diferente de la fuente los archivos se compilan cuando el objetivo es un dispositivo iOS.

Me imagino que necesito decirle a xcode la lista de archivos para cada objetivo. Entonces, ¿cómo implemento eso usando esta configuración? ¿A dónde va XCode? ¿Hay alguna documentación sobre cómo hacer esto?

También necesito hacer lo mismo con una lib estática. Específicamente, tengo una lib estática que quiero incluir en mi proyecto, pero la lib solo admite el brazo no i386, entonces, cuando compile para el simulador, ¡necesito excluir este archivo para que no se vincule!

¿Se puede hacer esto?

Respuesta

9

Básicamente EXCLUDED_SOURCE_FILE_NAMES se acaba de quitar los archivos de configuración de generación que

Si desea eliminar una biblioteca estática de una configuración de generación, entonces este es el camino a seguir.

Para implementar esto, solo vaya a la "Configuración de compilación" de su Target, luego haga clic en el botón "Agregar configuración de compilación" y agregue la configuración EXCLUDED_SOURCE_FILE_NAMES para su destino.

A continuación, puede especificar los nombres de archivo para excluir para cada configuración de generación ...

En su caso y puesto que mencionar una lista de archivos diferentes, entonces probablemente debería crear 2 conjunto de paquetes de aplicaciones, a continuación, excluir los paquetes en EXCLUDED_SOURCE_FILE_NAMES

Así que si crea un paquete llamado simulator.bundle y un paquete llamado release.bundle, excluiría el archivo simulator.bundle en Release Configuration y el release.bundle en la configuración del simulador ...

+6

También agregaría, que EXCLUDED_SOURCE_FILE_NAMES espera varios ems separados por espacios, y no comas. es decir, "patrón1 * patrón2" es correcto, mientras que "patrón1 *, patrón2 *" no funcionará. –