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

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

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

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

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

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

Внимание

Apple имеет политику конфиденциальности для приложений, предназначенных для iOS в App Store. Приложению требуется включить файл манифеста конфиденциальности в пакет приложений, который содержит типы данных приложения .NET MAUI или любые сторонние пакеты SDK и пакеты, а также причины использования api любой требуемой причины. Если вы используете API-интерфейсы необходимых причин или сторонние пакеты SDK, не объявлены в манифесте конфиденциальности, ваше приложение может быть отклонено в App Store. Дополнительные сведения см . в манифесте о конфиденциальности Apple.

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

Сертификат распространения используется для подтверждения удостоверения. Перед созданием сертификата распространения необходимо убедиться, что вы добавили учетную запись разработчика 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 иметь цифровую подпись для выпуска, чтобы его можно было установить на устройстве iOS. Профиль подготовки распространителя содержит идентификатор приложения и сертификат распространения.

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

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

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

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

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

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

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

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

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

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

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

    Зарегистрируйте идентификатор приложения.

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

    Укажите идентификатор пакета для приложения.

    Внимание

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

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

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

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

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

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

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

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

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

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

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

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

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

    Зарегистрируйте профиль подготовки для распространения магазина приложений.

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

    Выберите идентификатор приложения.

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

    Выберите сертификат распространения.

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

    Создайте профиль подготовки.

    Примечание.

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

  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 может опубликовать приложение .NET MAUI iOS для распространения App Store и отправить его в App Store. Тем не менее, прежде чем отправить приложение в App Store, необходимо:

  • Создайте запись для приложения, которое вы хотите отправить в App Store в Подключение App Store. Эта запись содержит все сведения о приложении, так как оно будет отображаться в App Store и все сведения, необходимые для управления приложением через процесс распространения. Дополнительные сведения см. в статье "Создание записи приложения" на developer.apple.com.
  • Создайте пароль для конкретного приложения. Сведения о создании пароля для конкретного приложения см. в статье "Вход в приложения с помощью Идентификатора Apple ID" с помощью паролей для конкретного приложения в support.apple.com.

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

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

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

    Выберите удаленное устройство в Visual Studio.

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

    Выберите конфигурацию выпуска в Visual Studio.

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

    Снимок экрана: вкладка подписывания пакета для iOS в Visual Studio.

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

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

    Выберите пункт меню публикации в Visual Studio.

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

    Снимок экрана: диспетчер архивов в Visual Studio.

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

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

    Снимок экрана: диспетчер архивов в Visual Studio после завершения архивации.

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

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

    Снимок экрана: выбор канала распространения в диалоговом окне распространения.

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

    Снимок экрана: выбор удостоверения для подписывания в диалоговом окне распространения.

    Примечание.

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

  3. В диалоговом окне "Распространение — удостоверение подписывания" нажмите кнопку "Сохранить как" или кнопку "Отправить в Магазин". Кнопка "Сохранить как " позволит ввести имя файла, прежде чем повторно подписывать приложение и публиковать его в IPA-файл в файловой системе для последующей отправки в App Store через приложение, например Transporter. Кнопка "Отправить в Магазин " повторно подпишет приложение и опубликует его в IPA-файл перед отправкой в App Store.

    1. Если выбрать кнопку "Отправить в магазин", диалоговое окно "Отправить в хранилище учетных данных" появится после создания IPA-файла Visual Studio. В диалоговом окне "Отправка для хранения учетных данных" введите идентификатор Apple ID и пароль для конкретного приложения и нажмите кнопку "ОК":

      Снимок экрана: ввод пароля для конкретного приложения для отправки приложения в App Store.

    Visual Studio проверит пакет приложения и отправит его в App Store, если вы создали запись приложения в App Store Подключение.

Устранение неполадок

Транспортировщик можно использовать для выявления ошибок с пакетами приложений, которые останавливают успешную отправку в App Store.