2013-11-19 2 views
0

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

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

Я настроил TemplateInfo.plist проекта следующим образом:

TemplateInfo.plist of project containing static lib dependency

Компоненты раздел определяет статический шаблон проекта библиотеки и успешно приносит содержимое этого шаблона, и его цель, в проект приложения. И как только все скомпилировано, статическая библиотека успешно связана в конце, по пункту 3 в записи OTHER_LDFLAGS.

Но попробуйте, как бы то ни было, раздел «Зависимости» шаблона не приводит к появлению статической библиотеки в разделе «Зависимые зависимости» на вкладке «Фазы построения» приложения. Я попытался указать зависимость, используя числовые значения 0 и 1, и я попробовал ее как строку, используя имя цели статической библиотеки (cocos2d), но ни одна из этих функций не работает.

В конце концов, в каждом проекте Xcode, созданном из этого шаблона, я остаюсь с пользователями, которым необходимо выполнить шаг навигации к разделу «Зависимые зависимости» на вкладке «Фазы построения» целевой цели приложения и вручную выбрать и добавить цель статической библиотеки. Хотя это относительно простая задача, она вовсе не нужна.

Может ли кто-нибудь посоветовать мне, как настроить зависимости шаблона, чтобы этот ручной шаг не нужен?

ответ

0

Как вы уже указывалось, зависимостями тег под Мишени ссылки целевых индексов массива. В примере, который вы опубликовали, ваша зависимость находится под Компоненты.

Компоненты, как представляется, добавляются в качестве целей после того, как цели проекта вашего шаблона добавляются в проект. Если вы ссылаетесь на шаблон Cocoa Touch Application, снабженный Xcode, Комплект для тестирования набора приложений для какао-приложений включен в качестве компонента.

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Temlpates/Применение

Cocoa Touch Application - TemplateInfo.plist

Глядя на PLIST для набора Cocoa Touch Application Unit Testing Bundle существует зависимость от целевого 0. Указанные компоненты, по-видимому, добавляются после «локальных» целей, цель 0 равна , присутствующим в проекте, когда добавляется единичная тестовая цель, а зависимость i созданных против основной цели.

Cocoa Touch Application Unit Testing Bundle - TemplateInfo.plist

Попытка это в обратном направлении, добавив зависимость от цели 1 в Cocoa Touch Application не работает.

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

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

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