Распределение приложений вне App Store Mac

В некоторых случаях можно хотеть распределить приложение вне App Store Mac. Поскольку то приложение не будет распределено через App Store Mac, используйте Разработчика сертификат ID для предоставления пользовательского обеспечения, что Вы - идентифицированный Apple разработчик.

У пользователей Mac есть опция включения Привратника, средство защиты, предоставляющее пользователям возможность установить программное обеспечение только от App Store Mac и идентифицированных разработчиков. Если Ваше приложение не будет подписано с Разработчиком сертификат ID, выпущенный Apple, то это не запустится на Mac, которому включили Привратник. Для предотвращения этой ситуации подпишите приложения и пакеты установщика с помощью Разработчика сертификат ID. Кроме того, полностью протестируйте опыт конечного пользователя с помощью Поддерживающего привратника Mac прежде, чем распределить приложение за пределами App Store Mac.

В этой главе описываются шаги XCode, чтобы создать и протестировать Разработчика подписанные ID приложения на распределение вне App Store Mac.

Создание разработчика подписанные ID приложения или пакеты установщика

При создании Разработчика подписанный ID пакет приложения или установщика является многоступенчатым процессом. Сначала Вы говорите XCode, что намереваетесь распределить свое приложение вне App Store Mac и затем запросить Разработчика сертификаты ID. Существует два типа Разработчика сертификаты ID: Разработчик Приложение ID используется для подписания приложений и Разработчика Установщик ID, используется для подписания пакетов установщика. Используя XCode, Вы экспортируете и подписываете архив своего приложения с помощью Разработчика сертификат Приложения ID. Можно также использовать утилиты командной строки для подписания пакета установщика с помощью Разработчика сертификат Установщика ID.

Установка идентификационных данных подписания разработчику ID

Сначала установите идентификационные данные подписания в области General Разработчику ID.

Установить идентификационные данные подписания в Разработчика ID

  1. В навигаторе проекта выберите цель для отображения редактора проекта.

  2. Нажмите General и, при необходимости, щелкните по треугольнику раскрытия, следующему за Идентификационными данными для раскрытия настроек.

  3. Проверьте, что Ваш пакет ID уникален.

  4. При Подписании выберите Developer ID как идентификационные данные подписания.

    ../Art/14_developerid_option_2x.png
  5. Если необходимо, выберите свою команду или “Добавьте Учетная запись” от всплывающего меню Команды.

    Предупреждающее сообщение и кнопка Fix Issue могут появиться ниже всплывающего меню Команды. Вы не используете команду, настраивающую профиль при подписании приложения с Разработчиком, сертификат ID так может проигнорировать это сообщение.

Если Вы распределяете вне App Store Mac, Вы не можете использовать некоторые службы приложения. При включении возможности в области Capabilities, как описано в Добавляющих Возможностях, переключатель Signing возвращается к App Store Mac. Чтобы добавить Ваш Apple ID к XCode и добавить Программу Разработчика Mac, считайте Управляющие Учетные записи.

Запрос разработчика сертификаты ID

Вы используете сертификаты подписания, начинающиеся с текста “Разработчик ID” для распределения приложения вне App Store Mac.

При обновлении профилей настройки впервые, как описано в Обновлении Профилей Настройки в XCode, XCode спрашивает, запросить ли все типы сертификатов от Вашего имени. Обязательно выберите Разработчика сертификаты ID из Сертификатов Не Найденное диалоговое окно и нажмите Request. Также используйте предпочтения Учетных записей для специфического запроса любого пропавшего Разработчика сертификаты ID, описанные в Запросе Идентификационных данных Подписания.

../Art/14_request_developerid_certs_2x.png

Для использования этих сертификатов Вам также нужен Разработчик промежуточный сертификат Центра сертификации ID, который XCode устанавливает в Вашей цепочке для ключей для Вас для использования этих сертификатов. При без вести пропавших этого промежуточного сертификата считайте Установку Недостающие Промежуточные Центры сертификации для восстановления его.

Необходимо сразу скопировать Разработчика идентификационные данные подписания ID после создания их, как описано в Экспорте Профиля Разработчика.

Если Вы хотите многократного Разработчика сертификаты ID, считайте Запрос Дополнительного Разработчика Сертификаты ID.

Проверка Ваших шагов

Для проверки шагов просмотрите Разработчика сертификаты ID в предпочтениях Учетных записей, как описано в Просмотре Идентификационных данных Подписания и Настройке Профилей.

../Art/14_mac_developerid_certs_2x.png

Создание архива

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

Создать архив

  1. В редакторе проекта XCode выберите проект.

  2. Выберите Product> Archive.

    Организатор Архивов появляется и выводит на экран новый архив.

    ../Art/14_archivesorganizer_2x.png

Проверка разработчика подписанное ID приложение

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

Проверить Разработчика подписанный ID архив

  1. В организаторе Архивов выберите архив и нажмите кнопку Validate.

  2. В диалоговом окне, появляющемся, выберите «Validate a Developer ID-signed Application» как метод проверки и нажмите Далее.

    ../Art/14_validate_developerid_2x.png
  3. В диалоговом окне, появляющемся, выберите команду из всплывающего меню и нажмите Choose.

  4. Рассмотрите идентификационные данные подписания и права, и нажмите Validate.

  5. Найденные проблемы проверки анализа, если таковые имеются, и нажимают Done.

Экспорт разработчика подписанное ID приложение

Для экспорта приложения для распределения вне App Store Mac используйте организатора Архивов.

Создать Разработчика подписанное ID приложение

  1. В организаторе Архивов выберите архив и нажмите Export.

  2. В диалоговом окне, кажущемся предлагаемым выбор методов распределения, выберите «Export a Developer ID-signed Application» и нажмите Далее.

    ../Art/14_selectsavesignedapp_2x.png
  3. В диалоговом окне, появляющемся, выберите команду из всплывающего меню и нажмите Choose.

    Если Вы - отдельный разработчик, Ваше имя появляется во всплывающем меню; иначе, Ваше название компании появляется во всплывающем меню.

  4. В диалоговом окне, появляющемся, рассмотрите идентификационные данные подписания и права, и нажмите Export.

  5. Введите имя файла и расположение, чтобы сохранить приложение со знаком и нажать Export.

Подписание пакета установщика

Если Вы хотите распределить свое приложение вне App Store Mac как часть пакета установщика, создать пакет, как Вы обычно делаете. Один способ создать пакет установщика состоит в том, чтобы использовать packagemaker(1) утилита командной строки. Элемент кода пакет с Вашим Разработчиком сертификат Установщика ID с productsign команда. Для тестирования пакета установщика используйте следующую команду и замену MyPackageName.pkg с именем файла Вашего пакета:

spctl -a -v --type install MyPackageName.pkg

Если Ваш процесс разработки включает подписывание кода из командной строки, считайте Руководство по Подписыванию кода.

Проверка Ваших шагов

Прежде чем Вы распределите свое приложение, протестируете опыт конечного пользователя путем запуска приложения с Привратником, включенным и отключенным. Можно включить и отключить Привратника, использующего Установки системы. Используйте spctl(8) утилита командной строки для проверки и тестирования Привратника также. Для моделирования опыта конечного пользователя необходимо изолировать приложение и протестировать его снова с включенным Привратником.

Включение и отключение привратника

Вы включаете и выключаете Привратника при помощи предпочтений Безопасности и Конфиденциальности в Установках системы. Можно выключить Привратника и проверить состояние Привратника, использующего spctl(8) утилита командной строки.

Включить или отключить Привратника, использующего предпочтения Безопасности и Конфиденциальности

  1. В Средстве поиска запустите Установки системы и выберите Security и Privacy.

  2. Нажмите кнопку блокировки, если это кажется заблокированным, и введите пароль администратора.

  3. Чтобы включить Привратнику, выберите «Mac App Store and identified developers».

    ../Art/14_securitypreferences_2x.png../Art/14_securitypreferences_2x.png
  4. Для отключения Привратника выберите Mac App Store или Anywhere и в диалоговом окне, появляющемся, подтвердите выбор.

Отключить Привратника, использующего spctl команду

  1. В Терминале введите следующую команду:

    $ sudo spctl --master-disable
  2. Нажмите Return.

  3. Когда запрошено, введите свой пароль администратора.

Подтвердить, что Привратнику включают с помощью spctl команды

  1. В Терминале введите следующую команду:

    $ spctl --status
  2. Нажмите Return.

    Если Привратнику включают, вывод этой команды:

    assessments enabled

    Если Привратник отключен, вывод этой команды:

    assessments disabled

Тестирование поведения привратника

После подписания Вашего приложения с Разработчиком сертификат ID можно протестировать, было ли это подписано правильно, и моделируйте поведение запуска приложения, когда включают Привратнику. На Mac с включенным Привратником запускается изолированная копия Вашего приложения, только если это - Разработчик подписанный ID. (Узнайте о карантине в этой Статье базы знаний.) Можно также протестировать поведение Привратника для приложения, которое не является Разработчиком подписанный ID.

Тестирование разработчика подписанное ID приложение

Можно использовать spctl утилита командной строки, чтобы протестировать, подписывается ли Ваше приложение правильно с помощью Разработчика сертификат ID.

Протестировать Вашего Разработчика подписанное ID приложение

  1. Включите Привратнику на Вашем тесте Mac путем выбора «Mac App Store and identified developers» в предпочтениях Безопасности и Конфиденциальности в Установках системы.

  2. Введите следующую команду в Терминал путем замены TrackMix.app с путем к Вашему приложению.

    $ spctl -a -v TrackMix.app
  3. Нажмите Return.

    Если приложение правильно подписывается, вывод этой команды:

    ./TrackMix.app: accepted
    source=Developer ID

Тестирование поведения запуска

Для полного тестирования Разработчика подписанное ID приложение моделируйте запуск приложения на Mac, не используемом для разработки.

Подготавливаться к тестированию поведения Привратника

  1. Включите Привратнику на Вашем тесте Mac, как описано во Включении и Отключении Привратника.

  2. Изолируйте копию своего Разработчика подписанное ID приложение. Можно сделать это любым из следующих способов:

    • Пошлите Вашему Разработчику по электронной почте подписанное ID приложение себе и используйте копию та Почта загрузки.

    • Разместите своего Разработчика подписанное ID приложение на Вашем собственном локальном или удаленном сервере и используйте копию тот Safari загрузки.

Вы готовы протестировать поведение Привратника.

Протестировать поведение Привратника на Вашего Разработчика подписанное ID приложение

  1. В Средстве поиска найдите изолированную копию своего Разработчика подписанное ID приложение и дважды щелкните по его значку.

    Mac выводит на экран предупреждение, спрашивающее, уверены ли Вы, что хотите открыть приложение.

    ../Art/14_identified_developer_2x.png

    Это предупреждение, позволяющее Вам открывать изолированное приложение с включенным Привратником, подтверждает, что Ваш Разработчик приложение ID создается правильно.

Протестировать поведение Привратника на блокирование приложений, которые не являются Разработчиком подписанный ID

  1. Включите Привратнику на Вашем тесте Mac, как описано во Включении и Отключении Привратника.

  2. Изолируйте копию своего приложения, которое не является Разработчиком подписанный ID.

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

    • Пошлите свое приложение по электронной почте себе и используйте копию это загрузки Mail.app.

    • Разместите своего Разработчика подписанное ID приложение на Вашем собственном локальном или удаленном сервере и используйте копию тот Safari загрузки.

  3. В Средстве поиска найдите изолированную копию своего неразработчика подписанное ID приложение и дважды щелкните по его значку.

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

Резюме

В этой главе Вы изучили, как распределить Ваше приложение Mac вне App Store Mac так, чтобы пользователи не блокировали Ваше приложение от запуска.