Создание платформы
Как только Вы решаете, что необходимо создать платформу для кода, можно сделать так легко с XCode. Поскольку Вы добавляете основные версии к платформе, также необходимо быть в состоянии поддержать проекты. Следующие разделы показывают Вам, как выполняют обе из этих задач.
Создание Вашей платформы
От XCode выберите File> New Project для создания проекта. Следуйте за подсказками для выбора типа платформы, которую Вы хотите и где Вы хотите поместить свой каталог проекта.
Шаблоны по умолчанию, идущие с XCode, позволяют Вам указать, хотите ли Вы создать платформу Углерода или Какао. Тип платформы, которую Вы выбираете, определяет, какие файлы по умолчанию сгенерированы для Вас. Если Вы не хотите включать заголовки Углерода или Какао в свою платформу, можно удалить любые ссылки на них после создания проекта.
Конфигурирование проекта платформы
При создании новой платформы существует несколько параметров конфигурации, которые можно хотеть изменить. Эти опции упрощают распределять Вашу платформу клиентам и гарантировать ее совместимость после будущих циклов разработки. Таблица 1 перечисляет некоторые опции, которые необходимо установить для платформы.
Опция | Описание |
---|---|
Идентификатор платформы | Идентификатор пакета стиля Java, однозначно определяющий платформу к системе. Необходимо всегда устанавливать эту опцию. Для установки этой опции в Xcode 2.4 откройте окно инспектора для цели платформы, выберите вкладку Properties и измените поле Identifier. |
Версия платформы | Текущая главная версия платформы. Посмотрите Основные версии для получения дополнительной информации. В Xcode 2.4, набор это значение для Вашей цели платформы использование установки сборки Версии Платформы. |
Текущая версия | Текущая версия платформы. В Xcode 2.4, набор это значение для Вашей цели платформы использование Текущей установки сборки Версии Библиотеки. Посмотрите Вспомогательные версии для получения дополнительной информации. |
Версия совместимости | Новая версия платформы, включающей изменения в открытых интерфейсах. В Xcode 2.4, набор это значение для Вашей цели платформы использование установки сборки Версии совместимости. Посмотрите Вспомогательные версии для получения дополнительной информации. |
Экспортируемые символы | Список символов платформы Вы хотите экспортировать в другие программы. В Xcode 2.4 укажите файл, содержащий Ваши экспортируемые символы для Вашей цели платформы использование Экспортируемых настроек сборки Файла Символов. Для указания файла, содержащего символы для сокрытия, используйте Неэкспортируемую сборку Файла Символов, устанавливающую вместо этого. Посмотрите Экспорт Вашего Интерфейса Платформы для получения дополнительной информации. |
Путь установки | Имя каталога, в котором должна в конечном счете быть установлена Ваша платформа. В Xcode 2.4, набор это значение для Вашей цели платформы использование установки сборки Каталога Установки. Посмотрите Установку Вашей Платформы для списка стандартных расположений. |
Предпочтительный адрес | Для платформ, развертываемых в OS X v10.3.9 и ранее, укажите предпочтительный адрес памяти для использования для предобязательных операций. Это значение не необходимо при развертывании платформы в 10,4 и позже. Посмотрите Платформы и Предварительно связывающий для получения информации о том, как установить предпочтительный адрес платформы. |
Тестирование платформы на месте
При создании платформы XCode помещает ее в build
подкаталог Вашего каталога проекта по умолчанию. Несмотря на то, что можно сказать XCode устанавливать платформу в своем заключительном расположении развертывания, во время разработки, что можно хотеть оставить его, где это. Если Вы делаете, Вы, возможно, должны сказать тестовые приложения, где найти Вашу платформу.
Если Ваш проект платформы содержит дополнительные цели для тестовых приложений, то XCode создает те приложения в той же папке как Ваша платформа. Тестовые приложения, созданные рядом с Вашей платформой, находят что платформа автоматически из-за их близости к нему. Однако, если Вы встраиваете свои тестовые приложения в различный каталог сборки, те приложения могут быть неспособны найти Вашу платформу, если Вы не говорите им, где найти его.
Обычный путь к приложению для нахождения платформы состоит в том, чтобы посмотреть в стандартных расположениях (см. Установку Платформы). Однако Вы не можете хотеть переустанавливать свою платформу каждый раз, когда Вы вносите изменения в нее. В этом случае можно сказать тестовые приложения точно, где найти платформу с помощью DYLD_FRAMEWORK_PATH
переменная окружения. Добавление этой переменной к Вашей исполнимой программе говорит dyld
где искать дополнительные платформы, если это не находит то, в чем это нуждается в стандартных расположениях. Следующие шаги показывают Вам, как установить эту переменную в XCode.
Откройте свой проект приложения в XCode.
В области Groups & Files откройте Исполнимую группу, выберите исполнимую программу, чтобы сконфигурировать, открыть ее окно Info и нажать Arguments.
Добавьте запись в список переменных окружения.
Определите имя переменной окружения к
DYLD_FRAMEWORK_PATH
.Установите значение переменной к полному пути каталога, содержащего Вашу платформу.
Для указания многократных каталогов платформы разделите пути двоеточием. Например, у Вас могло быть значение, такое как следующее значение на этой строке:
/Users/lynn/MyFrameworks:/Volumes/Keylime/MyOtherFrameworks
.
Встраивание частной платформы в комплекте приложений
Если необходимо распределить частную платформу с приложением, предпочтительное решение должно встроить платформу в комплект приложений. Встраивание платформы неразрывно соединяет платформу с приложением и гарантирует, что приложение всегда имеет правильную версию платформы, должен был работать. Встраивание платформы также проясняет другим разработчикам, что они никогда не должны соединяться с той платформой.
Для встраивания платформы в приложение существует несколько шагов, которые необходимо предпринять:
Необходимо сконфигурировать фазы сборки цели приложения для помещения платформы в корректное расположение.
Необходимо сконфигурировать каталог установки цели платформы, говорящий платформу, где это будет жить.
Необходимо сконфигурировать цель приложения так, чтобы она сослалась на платформу в своем каталоге установки.
Возможно создать и встроить платформу в приложение с помощью единственного XCode или многократные проекты проекта. Используя единственный XCode проект несколько проще, потому что он требует, чтобы меньше конфигурации заставило и платформу и приложение создавать. Для многопроектных установок, однако, как только эти два проекта сконфигурированы для создания должным образом, шаги конфигурации для встраивания платформы являются по существу тем же как теми для единственного проекта XCode.
Используя единственный проект XCode для обеих целей
Используя единственный проект XCode и для Вашего приложения и для цели платформы упрощает требуемую установку. Как только Вы создаете свой проект, Вы просто добавляете две цели к нему: один для Вашего приложения и один для Вашей платформы. (Поскольку обе цели находятся в том же проекте, нет никаких проблем, находящих исходные файлы ни от одной цели во время изготовления.) После этого Вы просто конфигурируете свою платформу и цели приложения с надлежащей информацией о выполнении для встраивания.
Конфигурация для Вашей цели платформы включает сообщение его, где это будет установлено. Платформе нужна эта информация так, чтобы это могло найти ресурсы, в которых это нуждается. Поскольку платформы обычно устанавливаются в фиксированных расположениях, Вы обычно указываете полный путь к надлежащему каталогу платформ. При встраивании платформы в пакете, однако, расположение платформы не фиксируется, таким образом, необходимо использовать @executable_path
заполнитель, чтобы позволить платформе знать свое расположение относительно текущей исполнимой программы.
Откройтесь инспектор для Вашей платформы предназначаются и выбирают вкладку Build.
Установите значение установки сборки Каталога Установки в
@executable_path/../Frameworks
.
Во время изготовления XCode создает Вашу платформу и помещает результаты в каталог сборки. Прежде чем приложение может использовать платформу, однако, необходимо сконфигурировать цель приложения следующим образом:
Необходимо скопировать платформу в пакет приложения.
Необходимо соединить приложение против платформы.
Необходимо создать зависимость от сборки между платформой и приложением.
Следующие шаги показывают Вам, как сконфигурировать Вашу цель приложения.
В области Group & Files откройте свою цель приложения для просмотра ее текущих фаз сборки.
Перетащите свой продукт платформы (расположенный в папке продуктов) к существующему Двоичному файлу Ссылки С фазой сборки Библиотек Вашей цели приложения. Это заставляет приложение соединяться против Вашей платформы.
Добавьте новую Фазу Сборки Файлов Копии к цели приложения. (Эта фаза будет использоваться для установки платформы в комплекте приложений.)
Выберите новую фазу сборки и откройте окно инспектора.
Во вкладке «Общие» окна инспектора, набор место назначения для фазы сборки к «Платформам».
Перетащите свой продукт платформы к новой фазе сборки.
Выберите цель приложения снова и откройте окно инспектора.
Во вкладке «Общие» окна инспектора добавьте свою платформу как зависимость для приложения. Добавление этой зависимости заставляет XCode создавать цель платформы прежде, чем создать цель приложения.
Зависимость от сборки, которую Вы устанавливаете в цели приложения, заставляет платформу быть созданной перед приложением. Это важно, потому что это гарантирует, что созданная версия Вашей платформы будет доступна, чтобы соединиться против и встроить в приложение. Из-за этой зависимости можно поставить активную цель проекта XCode к приложению и оставить его там. Создавание приложения теперь создают платформу и копируют его в каталог комплекта приложений, создание необходимой связи между двумя.
Используя отдельные проекты XCode для каждого Target
Если у Вас уже есть отдельные проекты XCode для Вашей платформы и приложение, можно использовать в своих интересах перекрестные ссылки проекта XCode для встраивания платформы в приложение. Перекрестные ссылки проекта являются удобным способом создать отношения между двумя отдельными проектами XCode. Для установки перекрестной ссылки проекта между приложением и платформой Вы сделали бы следующее:
В Вашем проекте приложения выберите Project> Add to Project и выберите свою платформу
.xcodeproj
файл. XCode добавляет проект платформы и выводит на экран его продукты в области Groups & Files Вашего проекта приложения.Измените установку Build Products Path и для приложения и для целей платформы так, чтобы они использовали тот же каталог сборки. Необходимо изменить каждую цель в их исходном файле проекта XCode.
В Вашем проекте приложения измените установку Header Search Paths цели приложения путем добавления каталогов, содержащих любые заголовочные файлы платформы.
Как только Вы сконфигурировали свои проекты XCode создать должным образом, можно продолжить с шагами конфигурации, должен был встроить платформу в приложение. Остающиеся шаги конфигурации для платформы и целей приложения идентичны тем описанным в Использовании Единственного Проекта XCode Для Обеих Целей. Каталог установки Вашей платформы должен быть сконфигурирован, чтобы быть относительно исполнимого пути приложения. Точно так же цель приложения должна скопировать платформу в свой пакет и установить необходимую связь и зависимости. Единственная разница - то, что необходимо сконфигурировать каждую цель в ее собственном проекте XCode.
Создание многократных версий платформы
После выпуска платформы необходимо рассмотреть, как управлять проектом XCode для будущих выпусков. При обновлении существующей платформы тип изменений, которые Вы вносите, определяет лучший способ продолжиться с Вашими файлами проекта. Например, существенные изменения могут гарантировать копирование Ваших файлов проекта и обслуживание отдельных проектов, один для каждой основной версии. С другой стороны, незначительные изменения могут быть свернуты в Ваш существующий проект XCode.
Обновление вспомогательной версии
При внесении незначительных изменений в платформу нет никакой потребности создать новый проект XCode для платформы. Однако необходимо всегда обновлять значения «текущей версии» и «версии совместимости», связанные с платформой. Если соединение программы к Вашей платформе возможно, эти значения позволяют динамическому компоновщику определить.
Для получения дополнительной информации о том, как обновить информацию о вспомогательной версии Вашей платформы и на типах изменений, составляющих обновление вспомогательной версии, видящих Вспомогательные версии.
Обновление основной версии
Процесс для обновления основной версии платформы является более трудным, чем процесс для вспомогательных версий. Рекомендуемый способ создать новую основную версию состоит в том, чтобы сделать двойную версию Вашей всей папки проекта XCode и продолжать разрабатывать оттуда. Старые файлы проекта должны архивироваться и использоваться для выполнения устаревших сборок. Однако активная разработка должна продолжить новый проект.
Как только у Вас есть новая папка проекта, необходимо сделать несколько модификаций к проекту XCode идентифицировать проект как основную версию. Выберите свою платформу, предназначаются и открывают окно Inspector. В области Build измените следующие опции сборки:
Постепенно увеличьте значение установки сборки Версии Платформы в следующее последовательное значение.
Постепенно увеличьте значение Текущей установки сборки Версии Библиотеки.
Обновите значение установки сборки Версии совместимости для соответствия обновленной Текущей Версии Библиотеки.
Обновите любые настройки сборки, информация о пути которых включает указатель основной версии платформы. Например, если у Вас есть фаза сборки Файлов Копии на основе каталога продукта, Вы, возможно, должны обновить тот путь. Или удостоверьтесь, что пути указаны с помощью платформы
Current
символьная ссылка.В области Properties целевого окна Info платформы обновите номер версии, который сохранен в информационном списке свойств Вашей платформы.
Как только Вы вносите изменения в свой код, можно создать цель платформы. То, что Вы получаете, является новым пакетом платформы, содержащим только новую основную версию.
Во время установки, если версия Вашей платформы уже не существует в целевой системе, имеют копию установщика Ваш пакет платформы по тому, как. Однако, если существующая версия платформы присутствует, имейте копию установщика содержание Вашего нового каталога платформы к старому каталогу. Ваш сценарий установщика должен заменить символьные ссылки в старом пакете платформы с, указывающими на новую версию платформы. Однако копирование по новой основной версии должно оставить любые старые версии неповрежденными. В то время как более новые версии используют обновленную платформу, это разрешает существующим приложениям продолжать работать.
Можно также хотеть, чтобы установщик удалил любые заголовочные файлы или документацию для устаревших версий платформы. Этот шаг является дополнительным и оставлен Вашему усмотрению. Однако рекомендуется предотвратить разработчиков от случайно включая устаревший набор заголовочных файлов или просмотр более старой документации, во время разработки.
Для получения дополнительной информации об основных версиях платформ посмотрите Основные версии.