Добавить зависимости проекта в Xcode - PullRequest
1 голос
/ 18 марта 2012

Я работаю с AR Drone для разработки нового приложения.

Я хочу установить зависимость между двумя проектами.Поэтому, когда я скомпилирую один, я надеюсь, что Xcode поможет скомпилировать другой автоматически.Я искал в Google этот вопрос.Найденные решения довольно стары и не применимы для Xcode 4.

. Сейчас у меня есть два проекта, а именно, ARDroneEngine.xcodeproj и FreeFlight.xcodeproj.

ARDroneEngine - библиотека для FreeFlight.Вот скриншот.

enter image description here

Если я скомпилирую FreeFlight с имитатором iPhone / iPad, это нормально, так как ARDroneEngine последний раз компилировался с той же настройкой.Вот где лежит вопрос.Чтобы протестировать свое приложение, я хочу скомпилировать и запустить FreeFlight на своем iPhone.Поэтому, когда я изменяю настройку «FreeFlight> iPhone xxx» и компилирую, происходит ошибка: «Ошибка компоновщика Apple Mach-O».

Я думаю, что проблема связана с целевыми зависимостями между двумя проектами.Быстрый обходной путь: Скомпилируйте ARDroneEngine снова с новой схемой «ARDroneEngine> iPhone xxx» и запустите FreeFlight в Xcode для моего iPhone.

Но я хочу более полное решение с зависимостями между проектами.Если для решения проблемы требуется дополнительная информация, я всегда могу предоставить новую информацию.

Спасибо, Стивен

1 Ответ

1 голос
/ 18 марта 2012

Решение XCode для подобных случаев заключается в использовании рабочей области, охватывающей оба проекта: затем, когда у одного проекта есть цель, ссылающаяся на продукт сборки другого, он автоматически обрабатывает зависимости и строит их по порядку.

  1. Создать новое рабочее пространство (Файл> Создать> Рабочее пространство); назовите его и сохраните в любом месте (хотя размещение в родительской папке в обоих каталогах проекта может быть хорошей идеей).
  2. Добавьте оба проекта (перетащите файлы xcodeproj из Finder на панель навигатора или используйте «Файл»> «Добавить файлы»).
  3. Разверните группу «Продукты» вашего библиотечного проекта, чтобы вы могли видеть (заполнитель для) встроенной библиотеки (libARDroneEngine.a).
  4. Выберите проект приложения (FreeFlight) в навигаторе и его цель приложения в редакторе - вы должны смотреть на панель «Сводка» для цели (с идентификатором пакета, информацией о развертывании, разрешениями и, что наиболее важно, Список «Связанные фреймворки и библиотеки»).
  5. Перетащите библиотеку (libARDroneEngine.a) из навигатора (там, где вы сделали ее видимой на шаге 3) в список связанных рамок и библиотек.

Вот и все! Теперь вы можете выбрать схему FreeFlight> xxx, и она автоматически создаст проект библиотеки перед сборкой приложения.

Скорее всего, вы можете получить более полное резюме этих инструкций (со скриншотами и всем) в справке Xcode для рабочих пространств.

...