TestFlight для Xamarin.iOS

Автор:

learn.microsoft.com

TestFlight теперь принадлежит компании Apple и является основным способом бета-тестирования мобильных приложений iOS. В этой статье мы рассмотрим все этапы процесса TestFlight – от загрузки приложения до работы с iTunes Connect.

Бета-тестирование мобильных приложений iOS является неотъемлемой частью цикла разработки программного обеспечения, и существует множество кроссплатформенных приложений, позволяющих упростить этот процесс, таких как HockeyApp, Applause и, конечно же, Google Play Native App Beta Testing для приложений Android. В данном документе основное внимание уделяется TestFlight от Apple.

TestFlight – это служба бета-тестирования приложений Apple для iOS, доступная только через iTunes Connect. В настоящее время он доступен для приложений на iOS 8.0 и выше. TestFlight позволяет проводить бета-тестирование как с внутренними, так и с внешними пользователями, а благодаря наличию бета-обзора приложения для последних, обеспечивает гораздо более простой процесс финальной проверки при публикации в App Store.

Ранее двоичный файл создавался в Visual Studio для Mac и загружался на сайт TestFlightApp для распространения среди тестировщиков. Новый процесс имеет ряд усовершенствований, которые позволят вам размещать в App Store высококачественные, хорошо протестированные приложения. Например:

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

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

Приложение TestFlight теперь является официальным приложением для iOS, поэтому оно работает быстрее.

После завершения бета-тестирования процесс перевода приложения на рецензирование становится быстрым и эффективным: достаточно нажать одну кнопку.

Требования

Через TestFlight можно тестировать только приложения, работающие под управлением iOS 8.0 или выше.

Все тестировщики должны проверять приложение, как минимум, на устройстве с iOS 8. Однако, согласно практике, приложение должно быть протестировано на всех версиях iOS.

Подготовка

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

Убедиться в том, что профиль дистрибутива содержит право на бета-версию, можно при проверке сборки в Xcode, как показано ниже:

  • Откройте XCode на хосте сборки Mac после архивации приложения
  • Выберите меню Window > Organizer
  • Выберите Архивы слева
  • Выберите архив, который вы хотите проверить, и нажмите кнопку Validate

Схема работы с TestFlight

Ниже описаны шаги, необходимые для начала использования TestFlight для бета-тестирования вашего приложения:

  • Для новых приложений создайте запись в iTunes Connect.
  • Заархивируйте и опубликуйте приложение в iTunes Connect.
  • Управление бета-тестированием:
  • Добавить метаданные.
  • Добавьте внутренних пользователей:

Не более 100 пользователей, каждый пользователь может тестировать до 30 устройств.

  • Добавление внешних пользователей:

Максимум 10000 пользователей.

Требуется проверка бета-тестирования, что предполагает соблюдение рекомендаций Apple.

  • Получите отзывы от пользователей, примите меры и вернитесь к шагу 2.

Создание записи в iTunes Connect

  • Войдите на портал iTunes Connect, используя учетные данные разработчика Apple.
  • Выберите пункт My Apps (Мои приложения):

  • На экране «Мои приложения» нажмите на кнопку + в левом верхнем углу экрана, чтобы добавить новое приложение. Если у вас есть учетные записи разработчиков Mac и iOS, то здесь вам будет предложено выбрать тип нового приложения.

Появится окно New iOS App, которое должно содержать точно такую же информацию, как и Info.plist вашего приложения.

Заполнение формы New iOS App

Форма должна в точности отражать информацию, содержащуюся в файле Info.plist вашего приложения, как показано ниже:

  • Name – описательное имя, используемое при настройке App Bundle. Оно должно полностью совпадать с именем приложения в Info.plist.
  • Основной язык – тот, который используется в приложении и на котором вы говорите.
  • Bundle ID – выпадающее меню, в котором перечислены все идентификаторы приложений, созданные в вашей учетной записи разработчика.
  • Bundle ID Suffix (Суффикс идентификатора пакета) – если вы выбрали wildcard Bundle ID (т.е. заканчивающийся символом *, как в нашем примере выше), появится дополнительное поле, в котором нужно будет ввести суффикс идентификатора пакета. В примере идентификатор Bundle - mobi.chkn.*, суффикс – PageView. Вместе они составляют идентификатор пакета в нашем Info.plist.
  • Version – номер версии загружаемого приложения. Он выбирается разработчиком.
  • SKU – это уникальный идентификатор вашего приложения, который не будет виден пользователям. Его можно представить как идентификатор продукта. В приведенном выше примере я выбрал дату и номер версии для этой даты.

Загрузка приложения

После создания записи в iTunes Connect вы сможете загружать новые сборки. Помните, что сборки должны иметь право на новую бета-версию.

Сначала создайте финальный дистрибутив в IDE, а затем отправьте приложение в Apple с помощью Application Loader или функции архивации в Xcode.

Visual Studio для MAC

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

Для создания двоичного файла в Visual Studio для Mac необходимо использовать функцию Archive. Щелкните правой кнопкой мыши на проекте и выберите Archive for Publishing, как показано на рисунке ниже:

Подпись и распространение приложения

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

Откроется мастер публикации. Выберите канал распространения App Store для создания пакета и откройте Application Loader. На экране Provisioning Profile (Профиль предоставления) выберите идентификатор подписи и профиль предоставления или повторно подпишитесь другим идентификатором. Проверьте сведения о пакете и нажмите кнопку Publish (Опубликовать), чтобы сохранить пакет в формате .ipa.

Отправка сборки

Мастер публикации откроет программу Application Loader для загрузки сборки в iTunes Connect. Выберите опцию Deliver Your App и загрузите файл .ipa, созданный выше. Программа Application Loader проверит и загрузит вашу сборку в iTunes Connect.

Вернувшись в раздел «Мои приложения» в iTunes Connect, вы должны увидеть, что ваше приложение успешно загружено. Теперь вы можете приступать к бета-тестированию.

Visual Studio

Создание финального дистрибутива

Поскольку модуль Xamarin для Visual Studio не поддерживает архивирование приложений Xamarin.iOS для публикации в App Store, существует два варианта публикации iOS-приложения из Visual Studio. Это:

  • Загрузка IPA, созданного с помощью команды Build Adhoc IPA.
  • Загрузка заархивированного пакета .app.

Отправка сборки

Чтобы отправить приложение в Apple, необходимо перейти на хост сборки и воспользоваться программой Application Loader, которая устанавливается в составе Xcode.

Открыв программу, выберите опцию Deliver Your App и загрузите созданный выше zip- или .ipa-файл. Программа Application Loader проверит и загрузит вашу сборку в iTunes Connect.

Вернувшись в раздел «Мои приложения» в iTunes Connect, вы должны увидеть, что ваше приложение успешно загружено. Теперь вы можете приступать к бета-тестированию.

Управление бета-тестированием

Добавление метаданных

Чтобы начать использовать TestFlight, перейдите на вкладку Prerelease своего приложения. Вы увидите три вкладки со списком сборок, внутренних и внешних тестировщиков, как показано на рисунке ниже:

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

В разделе Test Information вы можете предоставить тестировщикам существенную информацию, касающуюся, например, вашего приложения:

  • Что тестировать
  • Описание вашего приложения.
  • Маркетинговый URL-адрес - здесь будет указана информация о добавляемом вами приложении.
  • URL политики конфиденциальности - URL, содержащий информацию о политике конфиденциальности вашей компании.
  • Электронная почта для обратной связи.

Обратите внимание, что эти метаданные не требуются для внутренних тестировщиков, но обязательны для внешних.

Запуск бета-тестирования

Когда вы будете готовы начать тестирование своего приложения, включите переключатель TestFlight Beta Testing для вашей версии:


Каждая сборка активна в течение 60 дней с момента включения переключателя TestFlight Beta. Количество оставшихся дней для каждой сборки можно посмотреть на странице Test Information:

Тестирование может быть отключено в любой момент.

Внутренние тестировщики

Внутренние тестировщики – это члены команды разработчиков, которым назначена одна из следующих ролей в iTunes Connect:

  • Администратор – отвечает за добавление и управление новыми пользователями в iTunes Connect.
  • Legal – Законный представитель является единственным пользователем администратора, которому назначается роль Legal. Она позволяет ему подписывать юридические контракты.
  • Technical – Технический пользователь может изменять большинство свойств приложения. Например, редактировать информацию о приложении, загружать двоичный файл и отправлять приложение на проверку.

Каждая сборка может быть доступна максимум 100 участникам, каждый из которых может протестировать до 30 устройств.

Чтобы добавить участников тестирования, перейдите в раздел Пользователи и роли на главном экране iTunes Connect:

В списке появятся существующие пользователи iTunes Connect. Чтобы выбрать их, щелкните на их имени, включите переключатель Внутренний тестер и нажмите кнопку Сохранить:

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

Если вы вернетесь в раздел My Apps > Prerelease > Internal Testers, то увидите пользователей, которые были добавлены для внутреннего бета-тестирования TestFlight:

Вы можете пригласить этих тестировщиков, выбрав их имя и нажав кнопку «Пригласить». Они получат электронное письмо с приглашением протестировать ваше приложение.

Статус приглашения можно посмотреть в колонке «Статус» на странице «Внутренние тестеры»:

Внешние тестировщики

Прежде чем приглашать внешних тестировщиков для бета-тестирования вашего приложения, оно должно пройти процедуру Beta App Review и, следовательно, должно соответствовать правилам App Store.

Чтобы отправить приложение на рецензирование, нажмите на текст Submit For Beta App Review рядом с вашей сборкой, как показано на рисунке ниже:

Для того чтобы ваше приложение прошло проверку, необходимо ввести все необходимые метаданные на странице TestFlight Beta Information.

Теперь можно приступить к подготовке приглашений и добавить до 10000 внешних тестировщиков на вкладке External Testers, введя их электронную почту, имя и фамилию, как показано на скриншоте ниже. Вводимый адрес электронной почты не обязательно должен быть их Apple ID; это просто адрес электронной почты, на который они получат приглашение.

Если у вас большое количество внешних тестировщиков, вы можете воспользоваться ссылкой Import File для импорта CSV-файла со следующим форматом каждой строки:

first name, last name, email address

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

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

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

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

Действия тестировщика

После того как вы пригласите тестировщика, он получит письмо, аналогичное приведенному на скриншоте ниже:


После нажатия кнопки Открыть в TestFlight приложение откроется в TestFlight, а если оно еще не загружено, то в App Store, где его можно загрузить.

После того как приложение откроется в TestFlight, оно покажет подробную информацию о том, что нужно протестировать, и предложит тестировщику установить ваше приложение на устройство с iOS 8.0 (или выше):

Тестовые сборки будут обозначаться на главном экране устройства оранжевой точкой перед названием приложения.

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

Завершение бета-тестирования

После завершения бета-тестирования можно отправить приложение на рассмотрение в App Store компании Apple. Этот процесс осуществляется очень просто в iTunes Connect путем нажатия кнопки «Отправить на рецензию», как показано на рисунке ниже:

Резюме

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

Материалы по теме