Как я должен управлять зависимостями через проекты в рабочей области XCode?

Я работаю над проектом приложения для iOS и добавляю проект json-платформы к рабочей области. Навигатор проекта на левых шоу оба проекта и селектор схемы сборки показывает схемы из обоих проектов также. Теперь я хочу добавить цель libjson.a из проекта json-платформы как зависимость от цели приложения для iOS в другом проекте. Ожидаемый результат состоит в том, что каждый раз, когда цель приложения создается, она создает (при необходимости) цель библиотеки и связывает цель приложения против него. Вот способы, которыми я попытался сделать это:

  • Создайте обоих как часть той же схемы. Путем я пробую, это должно отредактировать схему моего приложения, добавив 'libjson.a' к части 'Сборки' схемы, и по тому, как "Находят, что Неявные Зависимости" проверяются. Затем я перехожу к целевому редактору для своей цели приложения, и в "Фазах разработки"-> "Связывают Двоичный файл С Библиотеками", я выбираю 'libjson.a' из списка библиотек рабочей области. Когда я впоследствии пытаюсь создать схему, я вижу, что он создает цель библиотеки, но создание целевых сбоев приложения с ошибочной библиотекой "Компоновщика, не найденной для-ljson" - предполагающий, что это на самом деле не обнаружило, что библиотека была создана. Действительно в навигаторе проекта, запись в соответствии с проектом приложения для библиотеки является все еще красным указанием, что файл не существует.

  • Добавьте цель json как явную зависимость. Для попытки этого я не изменяю схему сборки, но перехожу к целевому редактору для моего приложения, предназначаются и нажимают добавить кнопку под 'Целевыми Зависимостями'. Никакие цели из других проектов в рабочей области не обнаруживаются, таким образом, это - обреченное на неудачу.

  • Перетащите проект JSON в другой проект, затем добавьте цель как зависимость. Это - то, что я сделал бы в Xcode 3. В навигаторе проекта я захватываю проект библиотеки и перетаскиваю его по проекту приложения. Это поднимает обычное, 'добавьте файлы' область, которую я просто отклоняю путем нажатия на 'Finish'. Существует теперь две записи для проекта библиотеки в навигаторе проекта: один на верхнем уровне, и один в соответствии с проектом приложения. Я могу теперь добавить цель библиотеки как зависимость цели приложения использование целевого редактора и могу связаться против него без ошибки в фазе библиотек ссылок. Но это выглядит поврежденным: существуют многократные въезды для того же проекта в навигаторе. Существует ли другой способ сделать это?

Что нужно считать "XCode" способом с 4 выходами соединить эти цели в различных проектах в той же рабочей области? Казалось бы недостатком, если несколько проектов в той же рабочей области не могут на самом деле взаимодействовать друг с другом. Спасибо, Graham.

59
задан 30 March 2011 в 12:34

1 ответ

Я вижу следующие варианты:

  1. Explicit dependency в проекте <глоток> [О]
  2. Implicit dependency в рабочей области <глоток> [О]
0
ответ дан 1 November 2019 в 12:55

Другие вопросы по тегам:

Похожие вопросы: