Я знаю, это было задано несколько раз, но в основном для Xcode 3.x. Для IPAD, у меня есть два проекта, оба жили в общем рабочем пространствеXcode 4: Как добавить зависимость целевой статической библиотеки к проекту
- Foo, приложение вид на основе и
- Foolib, статический Cocoa-Touch библиотека
бывший в зависимости от последний. Кажется, я не могу понять, как добавить эту зависимость. Это не очень хорошо объяснено в документации, поэтому я попытался следующее:
- Нажмите на проекте Foo в области навигации слева,
- Выберите Построить Фазы до верхнего и расширить раздел Target зависимостей
- Нажмите кнопку «плюс», но полученный список пуст.
Я также попытался перетащить файл .a в этот раздел с небольшим успехом. Кроме того, в документации говорится
Если сборка продукта из одного проекта в рабочей области зависит от сборки продукта другого проекта в рабочей области (например, если один проект строит библиотеку, используемую другой проект), Xcode обнаруживает такие неявные зависимости и строит в правильной последовательности.
Интересно, как Xcode обнаруживает эти зависимости. Является ли Apple заявлением, что мне не нужно добавлять эту целевую зависимость вообще? Но тогда как Xcode обнаружит, что один использует другой?
И последнее, но не менее важное: мне нужно как-нибудь получить файлы .h с Foolib на Foo. Каков рекомендуемый способ сделать это? Очевидно, я не хочу просто копировать их. С фреймворками включаются файлы заголовков, но что обычно делают люди при работе со статическими библиотеками, которые они сами разрабатывают параллельно.
Толчок в правильном направлении был бы очень признателен. Спасибо.
Благодарим за это. Таким образом, добавление цели в схему делает Xcode сборкой Foolib до Foo, правильно? Но, похоже, мне также нужно как-то запустить libFoolib.a в мой проект Foo, иначе я получаю ошибки компоновщика, верно?На данный момент я не могу даже заставить Фулиба построить; хорошо, он успешно работает, но тогда libFoolib.a в группе «Продукты» остается красным. Любая идея, что там происходит? – McKrassy
У меня проблемы с архитектурой AMR или i386 в зависимости от работы на устройстве или эмуляторе. Возможно, это ваша проблема (при компиляции статической библиотеки на одной архитектуре проект, использующий эту библиотеку, пытается связать с библиотекой с другой архитектурой ...) –
@MPenades yup), вам действительно нужно прочитать о ** Универсальных библиотеках ** проверьте это. http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial – Resty