Распространение через App Store

После разработки приложения Xamarin.iOS наступает следующий этап жизненного цикла разработки ПО — распространение приложения среди пользователей с помощью Tunes App Store. Это наиболее популярный способ распространения приложений. Опубликовав приложение в Apple App Store, его можно сделать доступным для потребителей по всему миру.

Внимание

Корпорация Apple объявила, что начиная с марта 2019 г. все публикуемые в App Store приложения и обновления должны быть собраны с использованием пакета SDK для iOS 12.1 или более поздних версий, входящего в Xcode версии 10.1 и выше. Кроме того, приложения должны поддерживать размеры экранов iPhone XS и iPad Pro с диагональю 12,9 дюйма.

Внимание

Если при использовании Xamarin.Forms вы ищете ресурсы касательно предупреждения об устаревании UIWebViewUIWebView (ITMS-90809), ознакомьтесь с документацией по Xamarin.Forms WebView.

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

Внимание

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

Подготовка приложения для распространения через App Store

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

  • Идентификатор приложения
  • Сертификат распространения

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

Примечание.

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

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

  1. Перейдите к разделу Certificates, Identifiers & Profiles (Сертификаты, профили и идентификаторы) в Центре разработчиков Apple.

  2. В разделе Certificates (Сертификаты) выберите Production (Производство).

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

  4. В разделе Production (Производство) установите флажок App Store and Ad Hoc (Магазин приложений и специальный):

    Select App Store and Ad Hoc

  5. Нажмите кнопку Continue (Продолжить) и следуйте инструкциям, чтобы создать запрос подписи сертификата через доступ к цепочке ключей:

    Create a Certificate Signing Request via Keychain Access

  6. После создания запроса согласно инструкции нажмите кнопку Continue (Продолжить) и отправьте его в центр участников:

    Upload the CSR to the Member Center

  7. Нажмите Generate (Создать), чтобы создать сертификат.

  8. Наконец, скачайте готовый сертификат и дважды щелкните файл, чтобы установить его.

  9. На этом этапе сертификат должен быть установлен на компьютере, однако может потребоваться обновить профили, чтобы убедиться, что они видны в Xcode.

Можно также запросить сертификат в Xcode через диалоговое окно "Preferences" (Параметры). Для этого сделайте следующее.

  1. Выберите свою команду и щелкните Manage Certificates… (Управление сертификатами): Select the team and View Details

  2. Затем нажмите кнопку Create (Создать) рядом с полем iOS Distribution Certificate (Сертификат распространения iOS): Create an iOS Distribution Certificate

  3. В зависимости от привилегий вашей команды будет создано удостоверение подписывания, как показано ниже, или вам придется ждать, пока администратор или агент команды утвердит его: The signing identity will be generated and a dialog displayed

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

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

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

  1. В центре разработчиков Apple перейдите в раздел Certificates, Identifiers and Profiles (Сертификаты, идентификаторы и профили). В разделе Identifiers (Идентификаторы) выберите элемент App IDs (ИД приложений).
  2. Нажмите кнопку + и укажите Name (Имя) для идентификации приложения на портале.
  3. Префикс приложения уже должен быть задан в качестве идентификатора вашей команды. Изменить его невозможно. Выберите явный или дикий идентификатор приложения карта и введите идентификатор пакета в обратном формате DNS, например:
    • Explicit: com.[доменное_имя].[имя_приложения]
    • Wildcard:com.[доменное_имя].*
  4. Выберите любые службы приложений, которые требуются приложению.
  5. Нажмите кнопку Continue (Продолжить) и следуйте инструкциям на экране, чтобы создать идентификатор приложения.

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

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

  1. Вернитесь на портал подготовки Apple и выберите Provisioning>Distribution (Подготовка > Распространение):

    RSelect Provisioning > Distribution

  2. Нажмите кнопку + и выберите тип профиля распространения, который нужно создать для App Store:

    Create an App Store distribution profile

  3. Нажмите кнопку Continue (Продолжить) и выберите из раскрывающегося списка ИД приложения, для которого необходимо создать профиль распространения:

    Select App ID from the dropdown list

  4. Нажмите кнопку Continue (Продолжить) и выберите сертификат, необходимый для подписи приложения:

    Select the certificate required to sign the application

  5. Нажмите кнопку Continue (Продолжить) и выберите устройства iOS, на которых можно будет запускать приложение Xamarin.iOS:

    Select the iOS devices that app will be allowed to run on

  6. Нажмите кнопку Continue (Продолжить) и введите имя нового профиля распространения:

    Enter a Name for the new Distribution Profile

  7. Нажмите кнопку Generate (Создать), чтобы создать профиль и завершить процесс.

Может потребоваться выйти из программы Visual Studio для Mac, а также обновить список доступных удостоверений подписи и профилей подготовки в Xcode (в соответствии с инструкциями из раздела Запрос удостоверений подписывания), прежде чем новый профиль распространения станет доступен в Visual Studio для Mac.

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

Когда все готово к финальной сборке приложения Xamarin.iOS для продажи в iTunes App Store, выберите профиль распространения, который был создан выше.

В Visual Studio для Mac выполните следующие действия:

  1. Дважды щелкните проект в обозревателе решений, чтобы открыть его для редактирования.

  2. Выберите Подписывание пакета iOS и Выпуск | iPhone в раскрывающемся списке Конфигурация:

    Select Release | iPhone from the Configuration dropdown

  3. В большинстве случаев в полях Удостоверение подписывания и Профиль подготовки можно оставить значения по умолчанию (Автоматически), чтобы программа Visual Studio для Mac выбрала подходящий профиль на основе идентификатора пакета в файле Info.plist:

    The Signing Identity and the Provisioning Profile set to the default values of Automatic

  4. При необходимости выберите требуемое удостоверение подписывания и профиль распространения, созданный выше:

    Select the Signing Identity and Distribution Profiles

  5. Нажмите кнопку ОК, чтобы сохранить изменения.

Настройка приложения в iTunes Connect

Следующим шагом после успешной подготовки приложения является настройка приложений в iTunes Connect, который представляет собой набор веб-инструментов, обеспечивающий, среди прочего, управление приложениями iOS в App Store.

Приложение Xamarin.iOS должно быть правильно настроено в iTunes Connect, прежде чем вы отправите его на проверку в Apple или в конечном итоге начнете его коммерческое или бесплатное распространение через App Store.

Дополнительные сведения см. в нашей документации по настройке приложений в iTunes Connect.

Отправка приложения в iTunes Connect

После подписания приложения с помощью профиля подготовки к распространению и создания приложения в iTunes Connect его двоичный файл отправляется на рассмотрение в Apple. После успешного рассмотрения компанией Apple оно становится доступно в App Store.

Дополнительные сведения о публикации приложений в App Store см. в разделе Публикация в App Store.

Автоматическое обратное копирование пакетов приложений в Windows

При создании приложений iOS в Visual Studio и агенте сборки Mac пакет APP не копируется обратно на компьютер Windows. В инструменты Xamarin для Visual Studio 7.4 добавлено новое свойство CopyAppBundle, позволяющее сборкам CI копировать пакеты APP обратно в Windows.

Чтобы использовать эту функцию, добавьте свойство CopyAppBundle в CSPROJ-файл в группе свойств, к которой следует применить эту функцию. Например, в приведенном ниже примере показано копирование пакета APP обратно на компьютер Windows для сборки Отладка, предназначенной для iPhoneSimulator:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <CopyAppBundle>true</CopyAppBundle>
</PropertyGroup>

Итоги

Эта статья описывает основные этапы подготовки приложения Xamarin.iOS к распространению через App Store.