Xcode 4: Как добавить зависимость целевой статической библиотеки к проекту
Я знаю, это было задано несколько раз, но в основном для Xcode 3.x. Для iPad у меня есть два проекта, живущих в общей рабочей области.
- Foo, приложение на основе представления и
- Foolib, статическая библиотека Cocoa -Touch
первый в зависимости от последнего. Кажется, я не могу понять, как добавить эту зависимость. Это не очень хорошо объяснено в документации, поэтому я попробовал следующее:
- Нажмите на проект Foo в области навигации слева,
- Выберите "Сформировать фазы" вверху и разверните раздел "Зависимые зависимости"
- Нажмите кнопку "плюс", но результирующий список пуст.
Я также пытался перетащить файл .a в этот раздел с небольшим успехом. Кроме того, в документации указано
Если продукт сборки одного проекта в рабочей области зависит от продукта сборки другого проекта в рабочей области (например, если один проект создает библиотеку, используемую другим проектом), Xcode обнаруживает такие неявные зависимости и строит в правильная последовательность.
Интересно, как Xcode обнаруживает эти зависимости. Является ли Apple выражением, что мне не нужно добавлять эту целевую зависимость вообще? Но тогда как Xcode обнаружит, что один использует другой?
И последнее, но не менее важное: мне нужно как-нибудь получить файлы .h из Foolib в Foo. Каков рекомендуемый способ сделать это? Очевидно, я не хочу просто копировать их. С фреймворками включаются файлы заголовков, но что обычно делают люди при работе со статическими библиотеками, которые они сами разрабатывают параллельно.
Было бы высоко оценено толчок в правильном направлении. Спасибо.
Ответы
Ответ 1
В общем случае Xcode 4, как представляется, автоматически обнаруживает зависимости, как это делает лист Edit Scheme. Другие разработчики упомянули, что зависимости не обнаруживаются автоматически и требуют явно их перечисления:
Итак, Edit Scheme → Build → добавьте цели из вашей рабочей области.
Что касается файлов заголовков статической библиотеки, у Xcode 4 есть проблема, по крайней мере с завершением кода и подсветкой синтаксиса. Единственный способ, чтобы я мог нормально работать с классами в статических библиотеках, чтобы перетащить копию соответствующих файлов заголовков в папку в групповой папке в основном проекте. Обратите внимание, что вы должны снять флажок "Добавить в цель". Это касается подсветки синтаксиса и завершения кода. Остальное должно быть обработано путем указания правильного пути поиска заголовка. Это будет путь поиска заголовка пользователя = $(BUILT_PRODUCTS_DIR) - в зависимости от того, как вы настроили настройки местоположения.
Смотрите: эта ссылка