Управление зависимостями проекта iPhone - PullRequest
7 голосов
/ 14 июля 2011

Кто-нибудь имел успех в поиске надежного обобщенного решения для управления зависимостями для проектов iPhone?Я собираюсь разделить свои приложения для iPhone на компоненты многократного использования и затем перетянуть их в проекты, которые в них нуждаются.Я думаю, что я ищу рабочий процесс в стиле Maven, но для проектов Xcode / iPhone.Я пробовал несколько вещей, таких как:

  1. Я создал Плагин Maven для приложений iPhone, который автоматизирует создание и подписание приложенийно я постоянно чувствую, что я борюсь с Мейвеном, чтобы заставить это работать, и это в целом довольно грязно.Я бы предпочел не использовать это, если нет других вариантов.

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

  3. На данный момент я остановился на использованиисистема контроля версий, чтобы сделать мои зависимости для меня.В этом случае я использую SVN externals для загрузки зависимостей в рабочую область, когда я извлекаю проект.

Есть ли у кого-нибудь какие-либо идеи относительно того, что я мог быdo?

Обновление

Сейчас я использую CocoaPods для выполнения этой задачи.

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

То, как я делал это в прошлом, таково:

  • Статическая библиотека для общего кода
  • Пакет для изображений / файлов данных / и т. Д. (Без кода)

Делая это, вам нужно только заботиться об обновлении проекта, который управляет вашей статической библиотекой / пакетом, а не приложений, которые их используют.

Ключевым моментом при создании комплекта является то, что комплекты не отображаются в iOS при добавлении новой цели в проект. Вместо этого они перечислены в Mac OS X. Не волнуйтесь, это прекрасно работает.

После того, как вы создали цели Bundle и Static Library, вам нужно включить их в свое приложение:

  • Добавить статическую библиотеку в разделе Связать двоичные с библиотеками (Xcode 4)
  • Добавить пакет в разделе Копировать ресурсы пакета (Xcode 4)

Последнее, что нужно иметь в виду, это то, что если вы хотите загрузить ресурсы из вновь созданного пакета, вам нужно сделать что-то вроде следующего, если вы собираетесь загрузить изображение:

UIImage * myImage = [UIImage imageNamed: @ "YourBundle.bundle / MyImage.png"];

0 голосов
/ 15 июля 2011

С помощью статических библиотек вы можете распространять файлы XIB / Images / Strings в папке Bundle, которую можно легко импортировать.Это самый простой подход, который я нашел для распространения зависимостей, за исключением фактического проекта Code / Xcode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...