Использование TestFlight для распространения приложений Xamarin.iOS

Теперь сервис TestFlight принадлежит компании Apple и является основным способом бета-тестирования приложений Xamarin.iOS. В этой статье приводятся все этапы процесса TestFlight — от отправки приложения до работы с iTunes Connect.

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

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

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

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

Требования

Через TestFlight можно протестировать только приложения для iOS 8.0 и более поздних версий.

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

Подготовка

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

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

  1. Откройте XCode на узле сборки Mac после архивации приложения.
  2. Выберите меню "Организатор окна>"
  3. Выберите Archives (Архивы) слева.
  4. Выберите архив, который необходимо проверить, и нажмите кнопку Validate (Проверить).

Submitting the App to Apple

Работа с TestFlight

Следующая инструкция описывает шаги, необходимые для начала использования TestFlight для бета-тестирования приложения:

  1. Для новых приложений создайте запись iTunes Connect.
  2. Заархивируйте и опубликуйте приложения в iTunes Connect.
  3. Управление бета-тестированием:
    • Добавление метаданных
    • Добавление внутренних пользователей:
      • максимум 100 пользователей; каждый пользователь может выполнять тестирование на 30 устройствах.
    • Добавление внешних пользователей:
      • максимум 10 000 пользователей.
      • Требуется проверка бета-версии в соответствии с рекомендациями Apple.
  4. Получить отзывы от пользователей, проанализировать их и вернуться к шагу 2.

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

  1. Войдите на Портал iTunes Connect, используя учетную запись разработчика Apple.

  2. Выберите Мои приложения:

    Select My Apps

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

Откроется окно отправки данных Новое приложение iOS, которое должно содержать в точности те же сведения, что и файл Info.plist вашего приложения

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

Заполнение формы отправки для нового приложения iOS

Форма должна в точности отражать данные в файле Info.plist, как показано ниже:

The app's Info.plistThe form on iTunes Connect

  • Имя — описательное имя, используемое при настройке пакета приложений. Параметр должен точно совпадать с записью Application name в Info.plist.
  • Основной язык — базовый язык, используемый в приложении. Значение этого поля обычно не зависит от языка, на котором говорит разработчик.
  • ИД пакета — в раскрывающемся меню отображается список идентификаторов всех приложений, созданных в вашей учетной записи разработчика.
    • Суффикс ИД пакета — при указании идентификатора пакета с подстановочным знаком (например, заканчивающегося знаком *, как показано в приведенном выше примере) отобразится дополнительное поле для ввода суффикса идентификатора пакета. В нашем примере ИД пакетом является mobi.chkn.*, суффиксом является PageView. Вместе они составляют параметр Bundle Identifier в файле Info.plist.
  • Версия — номер версии отправляемого приложения. Значение параметра выбирается разработчиком.
  • SKU — SKU представляет собой уникальный идентификатор приложения, который не будет доступен пользователями. Этот параметр можно считать аналогом идентификатора продукта. В приведенном выше примере в этом параметре мы совместили дату и номер версии.

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

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

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

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

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

Select Archive for Publishing

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

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

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

Creating an archive will automatically open the Archives View

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

Select your signing identity and provisioning profile, or re-sign with another identity

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

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

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

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

В руководстве Публикация в App Store эти шаги описаны более подробно, обратитесь к этому руководству, если хотите глубже понять процесс отправки приложения в App Store.

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

Проведение бета-тестирования

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

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

Builds, Internal Testers, and External Testers tabs

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

Add Metadata

В разделе Сведения о тестировании вы можете предоставить тестировщикам важные сведения, касающиеся приложения, например:

  • Что следует проверить
  • Описание приложения.
  • URL-адрес рекламных материалов — это позволит получить сведения о вашем приложении.
  • URL-адрес политики конфиденциальности — URL-адрес сведений о политике конфиденциальности вашей организации.
  • Адрес электронной почты для обратной связи.

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

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

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

Turn on the TestFlight Beta Testing switch

Тестирование каждой сборки остается активным в течение 60 дней с даты включения переключателя "Бета-тестирование TestFlight". На странице Сведения о тестировании отображается количество оставшихся дней для каждой сборки:

The Test Information page

Тестирование можно прервать в любое время.

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

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

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

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

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

Users and Roles on the main iTunes Connect screen

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

Turn on the Internal Tester switch

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

Adding a user

Если вы вернеесь к Мои приложения > предварительной версии > внутренних тестировщиков, теперь вы увидите пользователей, которые были добавлены для внутреннего бета-тестирования TestFlight:

A list of users that have been added for TestFlight Internal beta testing

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

Можно просмотреть состояние приглашения в столбце "Состояние" на странице "Внутренние тестировщики":

The invitation status

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

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

Чтобы отправить приложение на проверку, нажмите Отправить на проверку бета-версии напротив номера версии, как показано на рисунке ниже:

Submit For Beta App Review

Для передачи на проверку необходимо ввести все необходимые метаданные на странице "TestFlight бета-версия".

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

Invite testers

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

first name, last name, email address

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

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

Confirm you have the users consent to invite them

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

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

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

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

An example invite email

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

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

TestFlight will show details of what to test for

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

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

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

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

Click the Submit for Review button

Итоги

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