2011-12-06 12 views
9

que tienen un espacio de trabajo que contiene 2 proyectos:El uso de la biblioteca estática y productos de paquete de Xcode 4 subproyecto

  1. Un proyecto que cuenta con 2 productos: una biblioteca estática y un paquete de recursos
  2. Un proyecto que construye un IOS aplicación

El primer proyecto se ha agregado como una referencia de subproyecto en el segundo proyecto. Tengo la biblioteca estática funcionando bien, enlaza con la aplicación, todo está bien. Sin embargo, parece que no puedo incluir el paquete de recursos en la aplicación.

El paquete se ha agregado al esquema 'Compilar' de la aplicación.

He intentado arrastrar el Resources.bundle en 'Construir Copia Recursos' fase de la aplicación, pero que los resultados de este error en el tiempo de construcción:

.../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle: No such file or directory 

Así que yo veía en el directorio de datos derivados y yo ver Resources.bundle en

MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug 

no

MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator. 

asumo que esto es becaus El paquete no es específico de la plataforma. Intenté agregar una fase de compilación para copiar el paquete en el Directorio de productos. Lo que resulta en este error de compilación:

.../DerivedData/MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug-iphonesimulator/Resources.bundle depends on itself. This target might include its own product. 

Pero no hay ningún archivo de depuración-iphonesimulator/Resources.bundle, así que no ver donde esta dependencia está viniendo. Cualquier consejo sería muy apreciado.

Respuesta

7

Me di cuenta. El problema es (como se mencionó anteriormente) que el paquete no es específico de la plataforma, por lo que sale al directorio Products/Debug mientras la aplicación sale al directorio Products/Debug-iphonesimulator. Tuve que agregar una fase Ejecutar script para copiar el recurso en el paquete de la aplicación:

SRC="$BUILD_DIR/$CONFIGURATION/Resources.bundle" 
DEST="$BUILD_DIR/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME/$FULL_PRODUCT_NAME" 
cp -R "$SRC" "$DEST" 
+0

¿Puede explicarme cómo agregar este script de ejecución? –

+1

Aquí tienes: http://www.runscriptbuildphase.com – brianpartridge

+0

Esto es realmente increíble. En realidad estoy tratando de ubicar mi SRC en "~/Xcode/DerivedData/MyTarget-blydmmnwjukedcdoelnbylneztfd/Build/Products/Debug-iphonesimulator", pero aquí da "~/Xcode/DerivedData/MyTarget-blydmmnwjukedcdoelnbylneztfd/Build/Products/Debug". Podrías ayudarme con esto por favor ? –

Cuestiones relacionadas