Публикация приложения iOS для внутреннего распространения

Внутреннее распространение позволяет членам программы Apple Developer Enterprise распространять приложения внутри других членов той же организации. Это преимущество не требует проверки App Store и не ограничивает количество устройств, на которых можно установить приложение. Однако члены программы Apple Developer Enterprise не имеют доступа к App Store Подключение, и поэтому лицензия отвечает за распространение приложения.

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

Чтобы распространить многоплатформенный пользовательский интерфейс приложений .NET (.NET MAUI) iOS, необходимо создать профиль подготовки дистрибутива, характерный для него. Этот профиль позволяет приложению иметь цифровую подпись для выпуска, чтобы его можно было установить на устройстве iOS. Профиль подготовки дистрибутива внутри организации содержит идентификатор приложения и сертификат распространения. Вы можете использовать тот же идентификатор приложения, который использовался при развертывании приложения на устройстве для тестирования. Однако вам потребуется создать сертификат распространения для идентификации организации, если у вас еще нет сертификата.

Процесс создания профиля подготовки дистрибутива в собственной среде выглядит следующим образом:

  1. Создайте сертификат распространения. Дополнительные сведения см. в разделе "Создание сертификата распространения".
  2. Создайте идентификатор приложения. Дополнительные сведения см. в разделе "Создание идентификатора приложения".
  3. Создайте профиль подготовки. Дополнительные сведения см. в разделе "Создание профиля подготовки".

Создайте сертификат распространения

Сертификат распространения используется для подтверждения удостоверения. Перед созданием сертификата распространения необходимо убедиться, что вы добавили учетную запись разработчика Apple в Visual Studio. Дополнительные сведения см. в разделе "Управление учетными записями Apple".

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

Чтобы создать сертификат распространителя, выполните приведенные действия.

  1. В Visual Studio перейдите в раздел "Параметры > инструментов>" Xamarin > Apple Accounts.
  2. В диалоговом окне "Учетные записи разработчиков Apple" выберите команду и нажмите кнопку "Просмотреть сведения...".
  3. В диалоговом окне "Сведения" нажмите кнопку "Создать сертификат" и выберите "Распространение iOS". Будет создано новое удостоверение подписывания и будет синхронизироваться с Apple, если у вас есть правильные разрешения.

Важно!

Закрытый ключ и сертификат, составляющие удостоверение подписывания, также экспортируются в цепочку ключей на узле сборки Mac, если интегрированная среда разработки связана с ней. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".

Основные сведения о парах ключей сертификатов

Профиль распространения содержит сертификаты, связанные ключи и все профили подготовки, связанные с учетной записью разработчика Apple. Существует две версии профиля распространения — одна существует в учетной записи разработчика Apple, а другая — на локальном компьютере. Разница между двумя ключами — это тип ключей, которые они содержат: профиль в учетной записи разработчика Apple содержит все открытые ключи, связанные с вашими сертификатами, а копия на локальном компьютере содержит все закрытые ключи. Чтобы сертификаты были допустимыми, пары ключей должны соответствовать.

Предупреждение

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

Создание профиля распространения

Профиль подготовки дистрибутива внутри организации позволяет приложению .NET MAUI iOS быть цифрово подписанным для выпуска. Профиль подготовки дистрибутива внутри организации содержит идентификатор приложения и сертификат распространения.

Создание идентификатора приложения

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

Существует два типа идентификатора приложения:

  • Подстановочные знаки. Идентификатор приложения wild карта позволяет использовать один идентификатор приложения для сопоставления нескольких приложений и обычно принимает формуcom.domainname.*. Дикий карта идентификатор приложения можно использовать для распространения нескольких приложений и использовать для приложений, которые не поддерживают возможности для конкретных приложений.
  • Явная транзакция. Явный идентификатор приложения является уникальным для одного приложения и обычно принимает форму com.domainname.myid. Явный идентификатор приложения позволяет распространять одно приложение с соответствующим идентификатором пакета.. Явные идентификаторы приложений обычно используются для приложений, которые обеспечивают специальные возможности приложения, такие как Apple Pay или Game Center.

Дополнительные сведения о возможностях см. в разделе "Возможности".

Чтобы создать новый идентификатор приложения, выполните приведенные действия.

  1. В учетной записи разработчика Apple перейдите к сертификатам, идентификаторам и профилям.

  2. На странице "Сертификаты", "Идентификаторы и профили" выберите вкладку "Идентификаторы".

  3. На странице "Идентификаторы" нажмите + кнопку, чтобы создать новый идентификатор приложения.

  4. На странице "Регистрация нового идентификатора" нажмите переключатель "Идентификаторы приложений", прежде чем нажать кнопку "Продолжить":

    Create an App ID.

  5. На странице "Регистрация идентификатора приложения" введите описание и нажмите кнопку "Явный" или "Дикий карта идентификатор пакета". Затем введите идентификатор пакета для приложения в обратном формате DNS:

    Specify the bundle identifier for the app.

    Важно!

    Идентификатор пакета, который вы вводите, должен соответствовать идентификатору пакета в файле Info.plist в проекте приложения.

    Идентификатор пакета для приложения MAUI .NET хранится в файле проекта в качестве свойства идентификатора приложения:

    • В Visual Studio в Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Свойства". Затем перейдите на вкладку "Общие > общие " MAUI. Поле идентификатора приложения содержит идентификатор пакета.
    • В Visual Studio для Mac в окне решения щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Свойства". Затем в окне "Свойства проекта" выберите вкладку "Сведения о сборке > приложения". Поле идентификатора приложения содержит идентификатор пакета.

    При обновлении значения поля идентификатора приложения значение идентификаторапакета в info.plist будет автоматически обновлено.

  6. На странице "Регистрация идентификатора приложения" выберите все возможности, которые использует приложение. Все возможности должны быть настроены как на этой странице, так и в файле Entitlements.plist в проекте приложения. Дополнительные сведения см. в разделе "Возможности и права".

  7. На странице "Регистрация идентификатора приложения" нажмите кнопку "Продолжить".

  8. На странице "Регистрация идентификатора приложения" введите сведения о развертывании, если у вас есть, прежде чем нажать кнопку "Продолжить".

  9. На странице "Подтверждение идентификатора приложения" нажмите кнопку "Зарегистрировать".

Создание профиля обеспечения

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

Чтобы создать профиль подготовки дистрибутива, выполните приведенные действия.

  1. На странице "Сертификаты", "Идентификаторы и профили" учетной записи разработчика Apple выберите вкладку "Профили ".

  2. На вкладке "Профили" нажмите + кнопку, чтобы создать новый профиль.

  3. На странице "Регистрация нового профиля подготовки" нажмите переключатель "В доме", прежде чем нажать кнопку "Продолжить":

    Register a provisioning profile for in house distribution.

  4. На странице "Создание профиля подготовки" в раскрывающемся списке "Идентификатор приложения" выберите идентификатор приложения, созданный ранее, прежде чем нажать кнопку "Продолжить":

    Select your App ID.

  5. На странице "Создание профиля подготовки" выберите переключатель, соответствующий сертификату распространения, прежде чем нажать кнопку "Продолжить":

    Select your distribution certificate.

  6. На странице "Создание профиля подготовки" введите имя профиля подготовки перед нажатием кнопки "Создать":

    Generate the provisioning profile.

    Примечание.

    Запишите имя профиля подготовки, так как оно потребуется при подписи приложения.

  7. На странице "Создание профиля подготовки" при необходимости нажмите кнопку "Скачать", чтобы скачать профиль подготовки.

    Примечание.

    Сейчас не нужно скачать профиль подготовки. Вместо этого вы будете делать это в Visual Studio.

Загрузка профилей подготовки в Visual Studio.

После создания профиля подготовки дистрибутива в учетной записи разработчика Apple Visual Studio может скачать его, чтобы он был доступен для подписывания приложения.

  1. В Visual Studio перейдите в раздел "Параметры > инструментов>" Xamarin > Apple Accounts.
  2. В диалоговом окне "Учетные записи разработчиков Apple" выберите команду и нажмите кнопку "Просмотреть сведения".
  3. В диалоговом окне "Сведения" убедитесь, что новый профиль отображается в списке профилей подготовки. При необходимости перезапустите Visual Studio, чтобы обновить список.
  4. В диалоговом окне "Сведения" нажмите кнопку "Скачать все профили".

Профили подготовки скачиваются в Windows и экспортируются на узел сборки Mac, если интегрированная среда разработки связана с ней. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".

Публикация приложения

Visual Studio может опубликовать приложение iOS для .NET MAUI для распространения в собственной среде. Сведения о публикации приложения iOS с помощью интерфейса командной строки (CLI) см. в статье "Публикация приложения iOS с помощью командной строки".

  1. В Visual Studio убедитесь, что интегрированная среда разработки связана с узлом сборки Mac. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".

  2. На панели инструментов Visual Studio используйте раскрывающийся список "Целевой объект отладки", чтобы выбрать удаленные устройства iOS, а затем удаленное устройство:

    Select your remote device in Visual Studio.

  3. На панели инструментов Visual Studio используйте раскрывающийся список "Конфигурация решений" , чтобы изменить конфигурацию отладки на конфигурацию выпуска:

    Select the release configuration in Visual Studio.

  4. В Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Свойства". Затем перейдите на вкладку подписывания пакета iOS и убедитесь, что для схемы задано значение "Подготовка вручную", удостоверение подписывания имеет значение Distribution (Automatic), а для профиля подготовки задано значение Automatic:

    Screenshot of bundle signing tab for iOS in Visual Studio.

    Эти параметры гарантируют, что Visual Studio выберет правильный профиль подготовки на основе идентификатора пакета в Info.plist (который идентичен значению свойства идентификатора приложения в файле проекта). Кроме того, задайте удостоверение подписывания соответствующим сертификатом распространения и профилем подготовки профиль , созданный в учетной записи разработчика Apple.

  5. В Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Опубликовать..."

    Select the publish menu item in Visual Studio.

    Диспетчер архивов откроется, и Visual Studio начнет архивировать пакет приложений:

    Screenshot of the archive manager in Visual Studio.

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

  6. В диспетчере архивов после успешного завершения архивации убедитесь, что ваш архив выбран, а затем нажмите кнопку "Распространить ...", чтобы начать процесс упаковки приложения для распространения:

    Screenshot of the archive manager in Visual Studio once archiving is complete.

    Откроется диалоговое окно "Распространение — выбор канала ".

  1. В диалоговом окне "Распространение — выбор канала" нажмите кнопку Enterprise:

    Screenshot of selecting a distribution channel in the distribution dialog.

  2. В диалоговом окне "Распространение — удостоверение подписывания" выберите удостоверение подписи и профиль подготовки:

    Screenshot of selecting a signing identity in the distribution dialog.

    Примечание.

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

  3. В диалоговом окне "Распространение — удостоверение подписывания" нажмите кнопку "Сохранить как" и введите имя файла. После этого приложение будет повторно подписано и опубликовано в IPA-файле в файловой системе.

Внутренние приложения можно распространять через безопасный веб-сайт или через мобильные Управление устройствами (MDM). Оба этих подхода требуют, чтобы приложение было подготовлено к распространению, которое включает подготовку манифеста. Дополнительные сведения см. в разделе "Распространение собственных приложений на устройствах Apple" на support.apple.com.