Использование статической библиотеки и связывание продуктов из подпроекта Xcode 4 - PullRequest
9 голосов
/ 06 декабря 2011

У меня есть рабочее пространство, содержащее 2 проекта:

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

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

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

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

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

Итак, я посмотрел на каталог производных данных и вижу Resources.bundle в

MyProject-eyuldesiktlginanzifvzcfrtmgl/Build/Products/Debug 

не

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

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

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

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

1 Ответ

7 голосов
/ 07 декабря 2011

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

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