Публикация приложения iOS для нерегламентированного распространения
Нерегламентированное распространение в основном используется для тестирования приложений в широкой группе людей и доступно для программы разработчика Apple и Apple Developer Enterprise Program. Другим вариантом использования для нерегламентированного распространения является распространение в компании, когда App Store Connect не является вариантом.
Нерегламентированное распространение имеет преимущество не требовать утверждения App Store, при этом приложения устанавливаются с помощью Apple Configurator. Однако для разработки и распространения устройств должно быть ограничено 100 устройств в год, а устройства должны быть добавлены в учетную запись разработчика Apple.
Для распространения приложения iOS требуется, чтобы приложение подготовлено с помощью профиля подготовки. Профили подготовки — это файлы, содержащие сведения о подписи кода, а также удостоверение приложения и его предполагаемый механизм распространения.
Чтобы распространить многоплатформенный пользовательский интерфейс приложений .NET (.NET MAUI) iOS, необходимо создать профиль подготовки дистрибутива, характерный для него. Этот профиль позволяет приложению иметь цифровую подпись для выпуска, чтобы его можно было установить на устройстве iOS. Профиль подготовки нерегламентированного распределения содержит идентификатор приложения, сертификат распространения и список устройств, которые могут установить приложение. Вы можете использовать тот же идентификатор приложения, который использовался при развертывании приложения на устройстве для тестирования. Однако вам потребуется создать сертификат распространения для идентификации себя или организации, если у вас еще нет сертификата распространения.
Процесс создания профиля подготовки нерегламентированного распределения выглядит следующим образом:
- Создайте сертификат распространения. Дополнительные сведения см. в разделе "Создание сертификата распространения".
- Добавьте устройства в учетную запись разработчика Apple. Дополнительные сведения см. в разделе "Добавление устройства".
- Создайте идентификатор приложения. Дополнительные сведения см. в разделе "Создание идентификатора приложения".
- Создайте профиль подготовки. Дополнительные сведения см. в разделе "Создание профиля подготовки".
Создайте сертификат распространения
Сертификат распространения используется для подтверждения удостоверения. Перед созданием сертификата распространения необходимо убедиться, что вы добавили учетную запись разработчика Apple в Visual Studio. Дополнительные сведения см. в разделе "Управление учетными записями Apple".
Необходимо создать сертификат распространения только в том случае, если у вас его еще нет. Сертификат распространения должен быть создан с помощью Идентификатора Apple для учетной записи разработчика Apple.
Чтобы создать сертификат распространения в Visual Studio, выполните следующее:
- В Visual Studio перейдите в раздел "Параметры > инструментов>" Xamarin > Apple Accounts.
- В диалоговом окне "Учетные записи разработчиков Apple" выберите команду и нажмите кнопку "Просмотреть сведения...".
- В диалоговом окне "Сведения" нажмите кнопку "Создать сертификат" и выберите "Распространение iOS". Будет создано новое удостоверение подписывания и будет синхронизироваться с Apple, если у вас есть правильные разрешения.
Внимание
Закрытый ключ и сертификат, составляющие удостоверение подписывания, также экспортируются в цепочку ключей на узле сборки Mac, если интегрированная среда разработки связана с ней. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".
Основные сведения о парах ключей сертификатов
Профиль распространения содержит сертификаты, связанные ключи и все профили подготовки, связанные с учетной записью разработчика Apple. Существует две версии профиля распространения — одна существует в учетной записи разработчика Apple, а другая — на локальном компьютере. Разница между двумя ключами — это тип ключей, которые они содержат: профиль в учетной записи разработчика Apple содержит все открытые ключи, связанные с вашими сертификатами, а копия на локальном компьютере содержит все закрытые ключи. Чтобы сертификаты были допустимыми, пары ключей должны соответствовать.
Предупреждение
Потеря сертификата и связанных ключей может быть невероятно разрушительным, так как потребует отзыва существующих сертификатов и повторного создания профилей подготовки.
Создание профиля распространения
Профиль подготовки нерегламентированного распространения позволяет приложению .NET MAUI iOS быть цифрово подписанным для выпуска, чтобы его можно было установить на определенных устройствах iOS. Профиль подготовки нерегламентированного распределения содержит идентификатор приложения, сертификат распространения и список устройств, которые могут установить приложение. Устройства, которые вы хотите поддерживать, должны работать с версией iOS, поддерживаемой Xcode.
Добавить устройство
При создании профиля подготовки профиль должен включать, какие устройства могут запускать приложение. Прежде чем выбрать устройство для добавления в профиль подготовки, необходимо сначала добавить устройство в учетную запись разработчика Apple. Вы можете добавить устройство, выполнив следующие действия.
Подключите устройство для подготовки к локальному Mac с помощью USB-кабеля.
Откройте Xcode и перейдите к устройствам и симуляторам окон>.
В Xcode перейдите на вкладку "Устройства" и выберите устройство из списка подключенных устройств.
В Xcode скопируйте значение идентификатора в буфер обмена:
В веб-браузере перейдите в раздел "Устройства" учетной записи разработчика Apple и нажмите кнопку + .
На странице "Регистрация нового устройства" задайте правильную платформу и укажите имя нового устройства. Затем вставьте идентификатор из буфера обмена в поле Идентификатор устройства (UDID) и нажмите кнопку "Продолжить".
На странице "Регистрация нового устройства" просмотрите сведения и нажмите кнопку "Зарегистрировать".
Повторите предыдущие шаги для любого устройства iOS, на которое вы хотите развернуть приложение iOS .NET MAUI.
Создание идентификатора приложения
Идентификатор приложения необходим для идентификации распространяемого приложения. Идентификатор приложения похож на строку обратного DNS, которая однозначно идентифицирует приложение и должна быть идентична идентификатору пакета для приложения. Вы можете использовать тот же идентификатор приложения, который использовался при развертывании приложения на устройстве для тестирования.
Существует два типа идентификатора приложения:
- Подстановочные знаки. Идентификатор приложения с подстановочным знаком позволяет использовать один идентификатор приложения для сопоставления нескольких приложений и обычно принимает форму
com.domainname.*
. Идентификатор приложения с подстановочным знаком можно использовать для распространения нескольких приложений и использовать для приложений, которые не поддерживают возможности для конкретных приложений. - Явная транзакция. Явный идентификатор приложения является уникальным для одного приложения и обычно принимает форму
com.domainname.myid
. Явный идентификатор приложения позволяет распространять одно приложение с соответствующим идентификатором пакета. Явные идентификаторы приложений обычно используются для приложений, которые обеспечивают специальные возможности приложения, такие как Apple Pay или Game Center. Дополнительные сведения о возможностях см. в разделе "Возможности".
Чтобы создать новый идентификатор приложения, выполните приведенные действия.
В учетной записи разработчика Apple перейдите к сертификатам, идентификаторам и профилям.
На странице "Сертификаты", "Идентификаторы и профили" выберите вкладку "Идентификаторы".
На странице "Идентификаторы" нажмите + кнопку, чтобы создать новый идентификатор приложения.
На странице "Регистрация нового идентификатора" нажмите переключатель "Идентификаторы приложений", прежде чем нажать кнопку "Продолжить":
На странице "Регистрация нового идентификатора" выберите "Приложение", прежде чем нажать кнопку "Продолжить":
На странице "Регистрация идентификатора приложения" введите описание и нажмите кнопку "Явный" или "Идентификатор пакета подстановочных знаков". Затем введите идентификатор пакета для приложения в обратном формате DS:
Внимание
Идентификатор пакета, который вы вводите, должен соответствовать идентификатору пакета в файле Info.plist в проекте приложения.
Идентификатор пакета для приложения .NET MAUI хранится в файле проекта в качестве свойства идентификатора приложения. В Visual Studio в Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Свойства". Затем перейдите на вкладку "Общие > общие " MAUI. Поле идентификатора приложения содержит идентификатор пакета.
При обновлении значения поля идентификатора приложения значение идентификатора пакета в info.plist будет автоматически обновлено.
На странице "Регистрация идентификатора приложения" выберите все возможности, которые использует приложение. Все возможности должны быть настроены как на этой странице, так и в файле Entitlements.plist в проекте приложения. Дополнительные сведения см. в разделе "Возможности и права".
На странице "Регистрация идентификатора приложения" нажмите кнопку "Продолжить".
На странице "Подтверждение идентификатора приложения" нажмите кнопку "Зарегистрировать".
Создание профиля обеспечения
После создания идентификатора приложения необходимо создать профиль подготовки дистрибутива. Этот профиль позволяет приложению иметь цифровую подпись для выпуска, чтобы его можно было установить на устройстве iOS.
Чтобы создать профиль подготовки для нерегламентированного распределения:
На странице "Сертификаты", "Идентификаторы и профили" учетной записи разработчика Apple выберите вкладку "Профили ".
На вкладке "Профили" нажмите + кнопку, чтобы создать новый профиль.
На странице "Регистрация нового профиля подготовки" нажмите переключатель "Специальный" перед нажатием кнопки "Продолжить":
На странице "Создание профиля подготовки" в раскрывающемся списке "Идентификатор приложения" выберите идентификатор приложения, созданный ранее, и выберите, следует ли создать автономный профиль, прежде чем нажать кнопку "Продолжить":
На странице "Создание профиля подготовки" выберите переключатель, соответствующий сертификату распространения, прежде чем нажать кнопку "Продолжить":
На странице "Создание профиля подготовки" выберите устройства, на которые будет установлено приложение, а затем нажмите кнопку "Продолжить".
На странице "Создание профиля подготовки" введите имя профиля подготовки перед нажатием кнопки "Создать":
Примечание.
Запишите имя профиля подготовки, так как оно потребуется при подписи приложения.
На странице "Создание профиля подготовки" при необходимости нажмите кнопку "Скачать", чтобы скачать профиль подготовки.
Примечание.
Сейчас не нужно скачать профиль подготовки. Вместо этого вы будете делать это в Visual Studio.
Загрузка профилей подготовки в Visual Studio.
После создания профиля подготовки дистрибутива в учетной записи разработчика Apple Visual Studio может скачать его, чтобы он был доступен для подписывания приложения:
- В Visual Studio перейдите в раздел "Параметры > инструментов>" Xamarin > Apple Accounts.
- В диалоговом окне "Учетные записи разработчиков Apple" выберите команду и нажмите кнопку "Просмотреть сведения".
- В диалоговом окне "Сведения" убедитесь, что новый профиль отображается в списке профилей подготовки. При необходимости перезапустите Visual Studio, чтобы обновить список.
- В диалоговом окне "Сведения" нажмите кнопку "Скачать все профили".
Профили подготовки скачиваются в Windows и экспортируются на узел сборки Mac, если интегрированная среда разработки связана с ней. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".
Публикация приложения
Visual Studio может опубликовать приложение iOS для .NET MAUI для нерегламентированного распространения:
В Visual Studio убедитесь, что интегрированная среда разработки связана с узлом сборки Mac. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".
На панели инструментов Visual Studio используйте раскрывающийся список "Целевой объект отладки", чтобы выбрать удаленные устройства iOS, а затем удаленное устройство:
На панели инструментов Visual Studio используйте раскрывающийся список "Конфигурация решений" , чтобы изменить конфигурацию отладки на конфигурацию выпуска:
В Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Свойства". Затем перейдите на вкладку подписывания пакета iOS и убедитесь, что для схемы задано значение "Подготовка вручную", удостоверение подписывания имеет значение Distribution (Automatic), а для профиля подготовки задано значение Automatic:
Эти параметры гарантируют, что Visual Studio выберет правильный профиль подготовки на основе идентификатора пакета в Info.plist (который идентичен значению свойства идентификатора приложения в файле проекта). Кроме того, задайте удостоверение подписывания соответствующим сертификатом распространения и профилем подготовки профиль , созданный в учетной записи разработчика Apple.
В Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Опубликовать..."
Диспетчер архивов откроется, и Visual Studio начнет архивировать пакет приложений:
Процесс архивации подписывает приложение с помощью профилей сертификата и подготовки, указанных на вкладке подписывания пакета iOS, для выбранной конфигурации решения.
В диспетчере архивов после успешного завершения архивации убедитесь, что ваш архив выбран, а затем нажмите кнопку "Распространить ...", чтобы начать процесс упаковки приложения для распространения:
Откроется диалоговое окно "Распространение — выбор канала ".
В диалоговом окне "Распространение — выбор канала" нажмите кнопку "Специальный":
В диалоговом окне "Распространение — удостоверение подписывания" выберите удостоверение подписи и профиль подготовки:
Примечание.
Необходимо использовать удостоверение подписи и профиль подготовки, созданные для приложения и выбранного канала распространения.
В диалоговом окне "Распространение — удостоверение подписывания" нажмите кнопку "Сохранить как" и введите имя файла. После этого приложение будет повторно подписано и опубликовано в IPA-файле в файловой системе.
Затем приложение можно распространить с помощью Apple Configurator. Дополнительные сведения см . в руководстве пользователя Apple Configurator по support.apple.com.
Сведения о публикации приложения iOS с помощью интерфейса командной строки (CLI) см. в статье "Публикация приложения iOS с помощью командной строки".