Установка Вашей платформы
Как только Ваша платформа готова пойти, необходимо решить, где установить ее. Где Вы устанавливаете платформу, также помогает определить, как установить платформу.
Расположения для общедоступных платформ
Сторонние платформы могут войти во многие различные расположения файловой системы, в зависимости от определенных факторов.
Большинство общедоступных платформ должно быть установлено на локальном уровне в
/Library/Frameworks
.Если Ваша платформа должна только использоваться отдельным пользователем, можно установить ее в
~/Library/Frameworks
подкаталог текущего пользователя; однако, этой опции нужно избежать, если это возможно.Если они должны использоваться через локальную сеть, они могут быть установлены в
/Network/Library/Frameworks
; однако, этой опции нужно избежать, если это возможно.
Для почти всех случаев, устанавливая Ваши платформы в /Library/Frameworks
лучший выбор. Платформы в этом расположении обнаружены автоматически компилятором во время компиляции и динамическим компоновщиком во время выполнения. Приложения, соединяющиеся с платформами в других каталогах, такой как ~/Library/Frameworks
или /Network/Library/Frameworks
, должен указать точный тракт к платформе во время изготовления так, чтобы динамический компоновщик мог найти его. Если путь изменяется (как он мог бы для пользовательского корневого каталога), динамический компоновщик может быть неспособен найти платформу.
Другая причина избежать устанавливать платформы в ~/Library/Frameworks
или /Network/Library/Frameworks
потенциальные потери производительности. Во время компиляции платформы, установленные в сетевых каталогах или в основанных на сети пользовательских корневых каталогах, могут вызвать значительные задержки. Загрузка платформы по сети может также замедлить запуск целевого приложения.
Сторонние платформы никогда не должны устанавливаться в /System/Library/Frameworks
каталог. Доступ к этому каталогу ограничивается и резервируется для предоставленных Apple платформ только.
Когда Вы создаете приложение или другую исполнимую программу, компилятор ищет платформы в/System/Library/Frameworks
а также любое другое расположение, указанное к компилятору. Компилятор пишет информацию о пути для любых требуемых платформ в самом исполняемом файле, вместе с информацией о версии для каждой платформы. Когда приложение запущено, редактор динамического канала пытается найти подходящую версию каждой платформы с помощью путей в исполняемом файле. Если это не может найти подходящую платформу в указанном расположении (возможно, потому что это было перемещено или удалено), это ищет платформы в следующих расположениях в этом порядке:
Явный путь к платформе, указанной во время ссылки.
/Library/Frameworks
каталог./System/Library/Frameworks
каталог.
Если редактор динамического канала не может определить местоположение требуемой платформы, она генерирует ошибку редактирования ссылки, завершающую приложение.
Расположения для частных платформ
Пользовательские платформы, предназначенные для внутреннего использования, должны быть установлены в приложении, использующем их. Платформы, встроенные в приложение, сохранены в Frameworks
каталог комплекта приложений. Преимущество встраивания платформ этим способом состоит в том, что это гарантирует, что приложение всегда имеет правильную версию платформы для выполнения против. Посмотрите Встраивание Частной Платформы в Вашем Комплекте приложений для получения информации о том, как встроить пользовательскую платформу в Ваше приложение.
Ограничение встраивания платформ - то, что Вы не можете совместно использовать платформу среди комплекта приложений. Если Ваша компания разрабатывает комплект приложений, полагающихся на ту же платформу, Вы могли бы хотеть установить одну копию той платформы, которую могут совместно использовать все приложения. В такой ситуации необходимо установить платформы в /Library/Frameworks
каталог и удостоверяется, что пакет платформ не содержит общедоступной информации заголовка.
Установка платформ
То, как Вы устанавливаете платформы, зависит от Вашей платформы. Если Ваша платформа связывается в определенном приложении, нет ничего специального, которое необходимо сделать. Пользователь может перетащить комплект приложений к локальной системе и использовать приложение без любой потребности в дополнительных шагах установки.
Если Ваша платформа является внешней к приложению, необходимо использовать пакет установки, чтобы удостовериться, что она помещается в надлежащее расположение. Необходимо также использовать пакет установки в ситуациях, где могла бы существовать более старая версия платформы. В этом случае Вы могли бы хотеть записать некоторые сценарии, чтобы обновить существующий пакет платформы, а не заменить его полностью. Например, можно хотеть установить новую основную версию платформы, не нарушая никакие другие версии. Точно так же, если у Вас есть многократные приложения, полагающиеся на ту же платформу, Ваш пакет установки должен проверить на существование платформы и установить ее только по мере необходимости.
Для получения дополнительной информации о создании пакетов установки посмотрите Распределение программного обеспечения.