2011-12-06 4 views
9

У меня есть рабочее пространство, содержащее 2 проекта:Использование статической библиотеки и расслоение продуктов из Xcode 4 подпроекта

  1. Проект, который имеет 2 модели: статическая библиотека и набор ресурсов
  2. Проект, который строит IOS приложение.

Первый проект был добавлен в качестве ссылки подпроекта под вторым проектом. У меня статическое здание библиотеки отлично, оно связано с приложением, все хорошо. Однако, похоже, я не могу включить ресурсный пакет в приложение.

Этот комплект был добавлен в схему «Построить» приложения.

Я попытался перетащить Resources.bundle в «Создать Copy Resources» фазы приложения, но результаты этой ошибки во время сборки:

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

Так что я смотрел на производный каталог данных и I см Resources.bundle в

MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug 

не

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

Я полагаю, это becaus e расслоение не является специфичным для платформы. Поэтому я попытался добавить фазу сборки, чтобы скопировать пакет в каталог продуктов. В результате в этой ошибке сборки:

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

Но нет Debug-iphonesimulator/Resources.bundle файла, так что я не вижу, где эта зависимость приходит от. Любые советы будут очень признательны.

ответ

7

Я понял. Проблема (как упоминалось выше) в том, что пакет не является специфичным для платформы, поэтому он выводится в каталог Products/Debug, а приложение выводится в каталог Products/Debug-iphonesimulator. Мне пришлось добавить этап запуска сценария, чтобы скопировать ресурс в пакет приложений:

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

Не могли бы вы объяснить мне, как добавить этот сценарий запуска? –

+1

Здесь вы найдете: http://www.runscriptbuildphase.com – brianpartridge

+0

Это действительно потрясающе. На самом деле я пытаюсь найти свой SRC для «~/Xcode/DerivedData/MyTarget-blydmmnwjukedcdoelnbylneztfd/Build/Products/Debug-iphonesimulator», но здесь он дает «~/Xcode/DerivedData/MyTarget-blydmmnwjukedcdoelnbylneztfd/Build/Products/Debug». Не могли бы вы мне помочь? –

Смежные вопросы