2012-02-16 4 views
0

Предположим, что я хочу создать статическую библиотеку Xcode. Я использую Xcode при условии, шаблона для такого рода проект «Cocoa Touch Static Library», я хочу эту библиотеку в отдельном проекте, потому что:Xcode: Обработка зависимостей между проектами

  • Я хочу быть в состоянии держать этот проект под мерзавцем контроля версий
  • Я хочу, чтобы иметь возможность импортировать эту статическую библиотеку в другом проекте в виде подмодуля git

Теперь предположим, что эта библиотека зависит от библиотеки третьей части, такой как ASIHTTPRequest. Возможно, в моем основном проекте (который импортирует мою статическую библиотеку) я также буду зависеть от той же библиотеки. Каков наилучший способ справиться с этой многозависимостью?

PLUS: Теперь предположим, что я хочу создать вторую статическую библиотеку (эта задача более специфична для какой-то задачи, и я не хочу смешивать этот код с кодом предыдущей статической библиотеки), но это вторая статическая библиотека зависит от упомянутой статической библиотеки. Опять же, что лучший способ справиться с этим

ответ

0

Ваш вопрос не очень ясный, Лука, но позвольте мне посмотреть, смогу ли я немного помочь вам.

В одном из моих собственных проектов у меня есть ряд встроенных (или «под») проектов, которые создаются как библиотеки, включенные в основной проект. Поэтому, если один файл в субпроекте изменяется, как субпроект, так и основной проект забирают изменения.

С Xcode 3 было просто просто перетащить и импортировать один проект в другой проект, и если у вас установлен Xcode 3, я настоятельно рекомендую использовать Xcode 3 для встраивания одного проекта в другой.

Xcode 4 обрабатывает проекты, уже встроенные в другой проект (например, то, что вы могли создать с помощью Xcode 3), но способность фактически выполнять свою работу не полностью реализована или испечена (другими словами: it не работает хорошо или вообще не работает). Вот another question somebody else asked с дополнительной информацией, которая может вам помочь.

Также I noticed this other related question.

Эта информация поможет вам?

+0

Michael, Спасибо за ваш ответ. Я знаю, как включить подпроект, поэтому информация, которую вы мне предоставляете, избыточна. В чем мой вопрос непонятен? Мое внимание главным образом в том, что это лучшая практика, например, если я включаю ASIHTTPRequest в свою статическую библиотеку, как я могу проверить мой основной проект, чтобы не импортировать снова ASIHTTPRequest, если я только что включил его в свою статическую библиотеку? –

+0

Вы можете делать несколько вызовов '# import', потому что компилятор Objective C гарантирует, что он включен только один раз. [Вот связанный вопрос, который объясняет это лучше] (http://stackoverflow.com/questions/439662/what-is-the-difference-between-import-and-include-in-objective-c). –

+0

Еще раз спасибо. Я знаю, что безопасно использовать #import несколько раз. Может быть, я не объясняю свою точку зрения, моя точка зрения больше о том, как организовать код. –

Смежные вопросы