Я борюсь с рабочими пространствами Xcode 4.В настоящее время Xcode 4 выигрывает.Таким образом, моя ситуация:
У меня есть рабочее пространство с проектом приложения для iOS.Существует также статическое библиотечное проектное приложение iOS, от которого зависит в этом рабочем пространстве.
Solution # 1
Я пытаюсь настроить так:
- проект приложения:
- добавить к цели Фазы сборки> Двоичная ссылка С библиотекой продукта (
libmystaticlib.a
); - установить
USER_HEADER_SEARCH_PATHS
в $(TARGET_BUILD_DIR)/usr/local/include $(DSTROOT)/usr/local/include
;
- проект статической библиотеки:
- добавить несколько файлов заголовков к цели Фазы сборки> Копировать заголовки> Общедоступные ;
- установить
SKIP_INSTALL
до YES
.
И важно: оба проекта должны иметь одинаковые конфигурации.В противном случае, если у меня есть, например, конфигурация с именем Distribution (Ad Hoc) для приложения и Release для статической библиотеки, Xcode не сможет связать приложение с библиотекой.
При такой конфигурации архивация результатов в архив с приложением и общедоступными заголовками из проектов статических библиотек.Конечно, я не могу поделиться *.ipa
в этом случае.: (
Solution # 2
Я также попробовал другую конфигурацию:
- Настройки Xcode:
- установить дерево исходного кода длястатическая библиотека, например,
ADDITIONS_PROJECT
;
- проект приложения:
- добавление к цели этапы сборки> Link Binary с библиотекой продукта (
libmystaticlib.a
); - установить
USER_HEADER_SEARCH_PATHS
в $(ADDITIONS_PROJECT)/**
;
- проект статической библиотеки:
- не добавлять файлы заголовковв Public!;
- установите
SKIP_INSTALL
в YES
.
Мне все еще нужно позаботиться об именах конфигурации для обоих проектов. Но в результате яможет успешно собрать и заархивировать. В результате я получаю архив и могу поделиться *.ipa
.
Мне не нравятся вторые решения, потому что в этом случае я не получаю никакого реального преимуществарабочей области Xcode 4. Тот же эффект, который я могу добавить, получит, если я добавлю статический проект lib в проект приложения. Поэтому, я думаю, что-то не так с моим решением. Любое предложение холучше связать статические библиотеки?