Apple TestFlight — сервис бета-тестирования iOS-приложений¶
Apple TestFlight — облачный сервис компании Apple, предназначенный для дистрибуции и сбора обратной связи о бета-версиях приложений для платформ iOS, iPadOS, macOS, tvOS и visionOS. Сервис позволяет разработчикам приглашать внешних тестировщиков к установке ещё не опубликованных в App Store сборок, управлять составом тестировщиков и отслеживать статистику сборок, включая сбои и логи крашей.
¶История
TestFlight был создан независимой компанией TestFlight Inc., основанной в 2009 году. Первоначально сервис поддерживал только платформу iOS и позволял разработчикам распространять бета-сборки через приложение TestFlight, загружаемое из App Store. В феврале 2014 года Apple приобрела TestFlight Inc. и интегрировала сервис в свою экосистему разработки, включив его в состав iTunes Connect (с 2018 года — App Store Connect). После приобретения сервис был переведён на инфраструктуру Apple, а поддержка Android-приложений прекращена.
С 2016 года TestFlight стал доступен разработчикам macOS-приложений, в 2020-м — для tvOS, а позже и для visionOS. Тестирование приложений для watchOS через TestFlight официально не поддерживается — watchOS-приложения тестируются в составе iOS-приложений.
¶Принцип работы
Для использования сервиса разработчик должен иметь действующую Apple Developer Program-подписку стоимостью 99 долларов США в год. Процесс тестирования включает следующие этапы:
- Разработчик собирает приложение в Xcode и загружает бинарный файл через App Store Connect.
- После обработки сборки Apple выдаёт ссылку-приглашение (ссылка действует 25 дней) либо разработчик публикует открытый публичный линк, по которому любой желающий может присоединиться к тестированию.
- Тестировщик устанавливает бесплатное приложение TestFlight из App Store, переходит по ссылке и получает доступ к установке бета-версии.
- Каждая сборка имеет срок действия 90 дней, после чего она перестаёт работать и должна быть заменена новой.
Каждое приложение может иметь до 10 000 внешних тестировщиков. Внутренние тестировщики — члены команды разработчика, добавленные в App Store Connect, — получают доступ к сборкам без необходимости прохождения модерации Apple и не входят в лимит в 10 000. Внутренних тестировщиков может быть до 100 человек.
¶Возможности
TestFlight предоставляет разработчику следующие инструменты:
- Управление тестировщиками — приглашение по электронной почте или через публичную ссылка, отзыв приглашения, отключение отдельных тестировщиков.
- Группировка тестировщиков — возможность создавать группы и отправлять определённые сборки только выбранным группам (например, выделить «закрытую» и «открытую» фазы тестирования).
- Сбор обратной связи — тестировщик может отправить скриншот с пометками и описанием проблемы непосредственно из приложения TestFlight; отчёт поступает разработчику через App Store Connect.
- Аналитика сбоев — автоматический сбор логов крашей и ошибок, статистика по количеству запусков, продолжительности сессий и распространённым проблемам.
- Обязательные ответы на вопросы — разработчик может прикрепить к сборке анкету (до 10 вопросов), которую тестировщик должен заполнить перед установкой.
¶Ограничения
Для публичного тестирования (открытая ссылка) сборка должна пройти модерацию Apple. Модерация обычно занимает от нескольких часов до одного-двух дней. Закрытое тестирование по персональным приглашениям модерации не требует.
Сборки TestFlight не могут распространяться вне экосистемы Apple: для установки требуется устройство с iOS 12.4 или новее (для актуальных версий), iPadOS, macOS 10.14.4 или новее, tvOS либо visionOS. Приложение TestFlight недоступно в некоторых регионах по причинам локального законодательства.
¶TestFlight и другие системы бета-тестирования
На рынке существуют альтернативные платформы бета-тестирования мобильных приложений. Основные из них:
| Сервис | Поддерживаемые платформы | Особенности |
|---|---|---|
| Google Play Console (внутреннее и закрытое тестирование) | Android | Встроен в Google Play, лимит 100 внутренних и 100 внешних тестировщиков |
| Firebase App Distribution | Android, iOS | От Google, интеграция с Firebase-аналитикой |
| Microsoft App Center | iOS, Android | Закрыт для новых пользователей с 2024 года |
| Diawi, HockeyApp (закрыт) | iOS, Android | Сторонние сервисы дистрибуции |
TestFlight остаётся де-факто стандартом для бета-тестирования iOS-приложений, поскольку альтернативы для установки неподписанных сборок на устройства iOS вне App Store практически отсутствуют — операционная система не допускает установку приложений из неизвестных источников без джейлбрейка.
¶Интересные факты
- Приложение TestFlight занимает отдельную позицию в App Store и не может быть удалено с устройства, пока на аккаунте есть хотя бы одно активное бета-приложение.
- Apple не раскрывает точное число тестировщиков, участвовавших в тестировании конкретных сборок, — разработчики видят только количество приглашённых и активных участников.
- Для разработчиков, не имеющих платной подписки Apple Developer Program, TestFlight недоступен — в отличие от локального тестирования через Xcode, которое возможно с бесплатным Apple ID.
Источники:
- Документация Apple для разработчиков: TestFlight (developer.apple.com)
- App Store Connect — справка по TestFlight
- Apple Developer Program — условия участия
