Что такое TestFlight? Полное руководство для начинающих: от первого приглашения до успешной установки
Содержание статьи
Проверено 17 сентября 2026 года. В статье основное внимание уделено iPhone и iPad. Интерфейсы и правила Apple меняются: сверяйтесь с официальными инструкциями по ссылкам в тексте и с тем, что видите на экране.
Вы создали приложение и хотите сначала дать его попробовать друзьям, но пока не готовы выпускать его в App Store. Просто отправить исходный код не получится, а установочный файл получатель не обязательно сможет установить.
Именно эту задачу решает TestFlight.
Когда говорят «TF», обычно имеют в виду сокращение от TestFlight. Это сервис Apple для распространения тестовых версий: разработчик загружает бета-версию, приглашает других установить её, собирает отзывы и затем распространяет улучшенную версию. Тестировщики устанавливают настоящее приложение, которое работает на устройстве, а не смотрят скриншоты или веб-демонстрацию.[1][2]
Для начала запомните три вещи:
- Внутреннее тестирование предназначено для участников команды с соответствующими правами в App Store Connect.
- Внешнее тестирование подходит для друзей, клиентов и участников сообщества: давать им доступ к панели управления разработчика не нужно.
- Каждую сборку можно тестировать не более 90 дней с даты загрузки. Одобрение для тестирования не означает выпуск в App Store.[1][3]
Если вам просто прислали ссылку, можно сразу перейти к разделу 9 «Как тестировщику установить и обновить приложение, отправить отзыв и выйти из тестирования?». Если же вы хотите поделиться собственным приложением, начните с начала.
1. Что такое TestFlight, App Store Connect и App Store?
Представьте новое приложение как магазин, который пока работает в пробном режиме: TestFlight помогает пригласить людей попробовать его, а App Store — это канал официального открытия. У пробного режима тоже есть сроки и правила; это не лазейка для обхода проверки.
Названия похожи, но назначение разное:
Широкие таблицы можно прокручивать по горизонтали. При работе с клавиатурой переведите фокус на таблицу и используйте клавиши со стрелками.
| Название | Кто в основном использует | Для чего нужно |
|---|---|---|
| App Store Connect | Издатель приложения и участники команды с нужными правами | Управление сведениями о приложении, загруженными сборками, тестировщиками, группами и проверкой |
| TestFlight | Издатель настраивает распространение, тестировщики устанавливают клиент | Принятие приглашений, установка тестовых версий, обновления и сообщения о проблемах |
| App Store | Официально выпущенные приложения и их пользователи | Поиск, загрузка или покупка официальных версий |
В App Store вы скачиваете сам инструмент TestFlight, а уже через него устанавливаете приложения, которые вас пригласили протестировать. Появление приложения в TestFlight не означает, что его уже можно найти в App Store.[1][3]
С помощью TestFlight Apple объединяет цикл «выпустить сборку — пригласить тестировщиков — собрать сообщения о проблемах — обновить приложение». Сегодня разработчику не нужно отдельно собирать идентификаторы устройств тестировщиков или создавать для каждого из них профиль установки.[2]
Но TestFlight не напишет приложение за вас, не подтвердит правильность всех функций и не превратит тестовую версию в официальную автоматически. Даже прохождение проверки для тестирования не гарантирует отсутствия уязвимостей или потери данных. Проверяя незнакомое приложение, не рискуйте единственной копией важных материалов.


2. История TestFlight: Apple не создавала его с нуля
История помогает понять, почему в старых руководствах отличаются названия, число участников и порядок действий.
- Январь 2011 года: сторонний сервис стал общедоступным. В то время тестирование ещё не выпущенных приложений для iPhone часто требовало работы с идентификаторами устройств, установочными файлами и профилями, а затем синхронизации через iTunes на компьютере. TestFlight заметно упростил беспроводную установку. Речь о переходе от закрытого тестирования к общедоступному сервису, а не о дате регистрации компании.[H1]
- Март 2012 года: объявлено о приобретении компанией Burstly. TestFlight тогда по-прежнему был сторонним продуктом.[H2]
- Февраль 2014 года: Apple приобрела Burstly. Вместе с материнской компанией TestFlight перешёл к Apple.[H3]
- Октябрь 2014 года: Apple объявила о приглашениях на тестирование по электронной почте через iTunes Connect. iTunes Connect — предшественник нынешнего App Store Connect; тогда можно было пригласить до 1 000 человек. Обратите внимание: это историческое число.[H4]
- Июль 2017 года: лимит внешних тестировщиков увеличен до 10 000.[H5]
- Сентябрь 2018 года: Apple представила публичные ссылки-приглашения. Разработчики получили возможность набирать тестировщиков по ссылке, не собирая заранее адреса электронной почты каждого участника.[H6]
Сегодня TestFlight поддерживает несколько платформ Apple, включая iPhone, iPad, Mac, Apple Watch, Apple TV и Apple Vision Pro. В этой статье примеры приведены для iPhone, но это не значит, что сервис предназначен только для приложений iPhone или что через него можно распространять приложения для Android.[2][3]
3. Пять основных понятий: бета-версия, версия, сборка, группа и проверка
Бета-версия (Beta) — версия приложения, которую ещё проверяют и улучшают; в ней могут быть проблемы.
Версия (Version) — например, 1.0 или 1.1: обозначение очередной версии для пользователей.
Сборка (Build) — конкретный результат сборки приложения. Например, 1.0 (12) означает версию 1.0 со сборкой номер 12. После исправления ошибки можно загрузить 1.0 (13): версия для пользователей осталась прежней, но устанавливаемое содержимое уже другое.[7]
Группа (Group) определяет, кому доступны какие сборки. Можно создать группы «Команда» и «Ранний доступ» и назначить им одинаковые или разные сборки. В одной группе может быть несколько сборок, а одну обычную сборку можно назначить нескольким группам.[2][5][6]
Проверка для тестирования (TestFlight App Review) — проверка Apple для внешнего тестирования; это не то же самое, что проверка для официального выпуска в App Store.[1][6]
Чтобы не запутаться, запомните связь: приложение — весь проект, сборка — конкретное устанавливаемое содержимое, а группа определяет, кто может его попробовать. Публичная ссылка-приглашение принадлежит внешней группе, а не навсегда закрепляется за одной сборкой.
4. Что нужно подготовить издателю и тестировщику?
Что понадобится издателю
- Действующее участие в Apple Developer Program. Сейчас стандартная стоимость Apple составляет 99 долларов США в год; региональные цены могут отличаться, а некоторые соответствующие условиям организации могут подать заявку на освобождение от оплаты. TestFlight входит в соответствующие услуги программы, а не приобретается как отдельная подписка для тестировщиков.[4]
- Правильная запись приложения в App Store Connect. Идентификатор приложения, подпись и загружаемое содержимое должны соответствовать друг другу: нельзя произвольно добавить установочный файл другого приложения.[7]
- Достаточные, но не избыточные права учётной записи. Загружать сборки могут владелец учётной записи, администратор, менеджер приложения или разработчик; управлять внешним тестированием — владелец учётной записи, администратор или менеджер приложения. Право загружать сборки не означает доступ ко всем настройкам внешнего тестирования.[6][7]
- Материалы для тестирования. Описание приложения, адрес для обратной связи, задания для тестировщиков; для внешней проверки также нужны контактные данные и способ входа или доступа к функциям, которым проверяющий действительно сможет воспользоваться.[6][8]
- Устройство и время для тестирования. Успешная загрузка не означает, что установка и основные функции уже проверены.
Не передавайте друзьям пароль от своей учётной записи Apple. Чтобы дать человеку протестировать приложение, отправьте приглашение, а не доступ к административной учётной записи.
Что понадобится обычному тестировщику
Нужны только учётная запись Apple, совместимое устройство, TestFlight и действующее приглашение. Платно вступать в программу для разработчиков или заходить в панель управления разработчика не нужно.[1][3]
На дату проверки статьи справка Apple для тестировщиков указывает для iPhone и iPad требования iOS 16 и iPadOS 16 или новее. Но конкретному приложению может требоваться более новая система, а публичное приглашение может ограничивать устройства и версии ОС. Возможность установить TestFlight не означает, что вы сможете установить каждое приложение внутри него.[3][6]
Если вы используете управляемую учётную запись Apple, предоставленную работой или учебным заведением, отдельно проверьте право на участие: справка Apple по внешнему тестированию прямо указывает, что такие учётные записи нельзя использовать для тестирования сборок. Справка по внутреннему тестированию отдельно запрещает использование управляемых учётных записей, созданных в зарезервированных доменах. В таком случае сверяйтесь с соответствующей справкой и правилами организации, а не считайте это неисправностью ссылки-приглашения.[5][6]
5. Чем внутреннее тестирование отличается от внешнего?
Главное различие — статус пользователя в панели управления и его права, а не то, насколько хорошо вы знакомы, и не то, отправлено ли приглашение по почте.
Широкие таблицы можно прокручивать по горизонтали. При работе с клавиатурой переведите фокус на таблицу и используйте клавиши со стрелками.
| Вопрос | Внутреннее тестирование | Внешнее тестирование |
|---|---|---|
| Для кого | Пользователи App Store Connect с подходящей ролью и доступом к приложению | Приглашённые участники, которым не нужны права в панели управления |
| Лимит участников | До 100 внутренних тестировщиков | До 10 000 внешних тестировщиков на приложение |
| Нужны ли права учётной записи в панели управления | Да | Нет |
| Можно ли приглашать по почте | Да | Да |
| Можно ли делиться публичной ссылкой-приглашением | Нет | Да |
| Нужна ли проверка для внешнего тестирования | Эта проверка не нужна, но требования к обработке загрузки и соответствию правилам сохраняются | Первая отправленная сборка проходит полную проверку; последующим сборкам той же версии полная проверка может не требоваться |
| Типичное применение | Вы сами и доверенные коллеги | Друзья, клиенты, небольшая пробная группа или публичное тестирование |
Внутренними тестировщиками могут быть пользователи с ролями владельца учётной записи (Account Holder), администратора (Admin), менеджера приложения (App Manager), разработчика (Developer) и маркетолога (Marketing), имеющие доступ к этому приложению.[2][5]
Даже если вы лично приглашаете друга по электронной почте, обычно следует выбрать внешнее тестирование. Внешнее не значит публичное: можно пригласить лишь несколько человек и не включать публичную ссылку.
Не выдавайте обычным тестировщикам права администратора ради того, чтобы обойти один этап проверки. Это не переключатель разрешения на установку, а реальные права управления.
Есть ещё одно ограничение, которое легко упустить: в индивидуальную учётную запись разработчика можно добавить не более 50 пользователей App Store Connect. Поэтому лимит TestFlight «100 внутренних тестировщиков» не означает, что владелец любой индивидуальной учётной записи может создать ещё 100 пользователей панели управления.[9]


6. Как добавить сборку? Разделяйте загрузку и добавление в тестовую группу
Это два разных действия:
- Загрузить сборку — передать уже собранное приложение Apple из инструмента разработки или сборки.
- Добавить сборку в группу — выбрать одну из уже загруженных доступных сборок и предоставить её этой группе.
Кнопка «Добавить сборки» (Add Builds) в тестовой группе App Store Connect не создаёт приложение автоматически из перетащенного исходного кода и не служит для загрузки локального файла.[5][6][7]


Что делать, если вы публикуете впервые и приложения ещё нет в панели управления?
Пользователь с ролью владельца учётной записи, администратора или менеджера приложения открывает «Приложения» (Apps) → «+» → «Новое приложение» (New App), выбирает платформу, указывает название приложения, основной язык, идентификатор приложения (Bundle ID), SKU для внутреннего учёта и другие обязательные сведения, затем задаёт доступ участников и создаёт запись. Идентификатор приложения должен совпадать с идентификатором проекта. Если вы ещё не знаете, какой выбрать, сначала уточните у человека, отвечающего за сборку; не выбирайте наугад идентификатор другого приложения.
Если создать запись не удаётся, проверьте, принял ли владелец учётной записи последние соглашения. Создание записи лишь добавляет приложение в панель управления, а не загружает и не публикует его.[15]
Основной путь загрузки через Xcode
Если у вас уже есть проект iOS, действуйте в таком порядке:
- Проверьте, соответствуют ли идентификатор приложения и команда для подписи записи приложения в App Store Connect.
- Установите для новой загрузки ещё не использованный номер сборки, например увеличьте
1.0 (12)до1.0 (13). - Выберите целевое устройство для распространения на реальные устройства и нажмите Product → Archive, чтобы создать архив. Не пытайтесь загружать вариант для симулятора.
- В Window → Organizer → Archives выберите архив и нажмите Distribute App. Для обычного TestFlight и последующего официального выпуска выберите TestFlight & App Store; в настраиваемом процессе этому соответствует распространение через App Store Connect. Завершите подпись и загрузку, следуя интерфейсу.[16]
- После загрузки откройте App Store Connect → «Приложения» (Apps) → ваше приложение → TestFlight.
- Дождитесь обработки Apple. На вопросы об экспортном соответствии отвечайте в соответствии с тем, какое шифрование действительно используется в приложении; не выбирайте всегда «шифрование не используется» только ради продолжения.
- Когда обработка завершится и сборка станет доступна, добавьте её во внутреннюю или внешнюю тестовую группу.
В загрузке могут участвовать и другие инструменты, например Xcode Cloud и Transporter. Другой инструмент не позволяет пропустить обработку Apple, проверку соответствия требованиям, распределение по группам или внешнюю проверку.[7] Минимальные требования к инструментам загрузки и SDK меняются: при работе смотрите текущие требования Apple к загрузке. Версия SDK, использованная для сборки, — не то же самое, что минимальная версия системы, на которой разрешена установка приложения.[18]
Осторожнее с вариантом «только внутреннее тестирование»
TestFlight Internal Only — ограничение, задаваемое способом загрузки: такие сборки можно добавлять только во внутренние группы; их нельзя использовать ни для внешнего тестирования, ни для выпуска для обычных пользователей. Если позже понадобятся внешнее тестирование или официальный выпуск, нужно загрузить новую сборку подходящим способом, а не просто перенести прежнюю в другую группу.[5][6]
При этом обычная сборка не становится автоматически сборкой «только для внутреннего тестирования», если её сначала добавили во внутреннюю группу. Не путайте «сейчас её пробуют внутренние участники» с «эта загрузка ограничена исключительно внутренним использованием».
Если вы разрабатываете приложение в AirBuild
AirBuild может помочь подготовить распространяемую сборку, подписать и загрузить её, а также настроить тестовые группы и приглашения. Сначала уточните, что приложение нужно «отправить в TestFlight» и для кого: для команды или внешних друзей. Затем подключите или подтвердите команду разработчика Apple с нужными правами, согласуйте инструкции для тестирования, адрес для обратной связи, контакт для проверки и необходимость публичной ссылки.
Правила Apple об обработке, внешней проверке, числе участников и сроке действия сохраняются. При передаче результата нужно чётко указать версию и номер сборки, группу, в которой она уже доступна, и ожидается ли ещё внешняя проверка. Помощь AirBuild в прохождении процесса не позволяет обходить проверку Apple и не означает, что проверка в симуляторе охватила всё поведение на реальных устройствах.
Это описание работы AirBuild, а не требование Apple использовать определённый инструмент. Отсутствие локального Xcode на Mac тоже не означает, что для совместного выпуска вам обязательно придётся изучать все детали сборки.
7. Как добавить внутренних тестировщиков? Здесь два приглашения
Этот вариант подходит для вас и коллег, которым действительно нужен доступ к панели управления приложением.
Первое приглашение: предоставить пользователю права в панели управления
Пользователей добавляет владелец учётной записи (Account Holder), администратор (Admin) или менеджер приложения (App Manager):
- Откройте «Пользователи и доступ» (Users and Access) → «Люди» (People).
- Нажмите «+», укажите имя и адрес электронной почты.
- Назначьте подходящую роль. Если роль позволяет ограничить доступ отдельными приложениями, предоставьте только необходимые. Не назначайте администратора по умолчанию. Доступ администраторов, пользователей с финансовой ролью и пользователей с дополнительным доступом к ресурсам, например отчётам или сертификатам, нельзя ограничить одним приложением. Перед выбором прав внимательно проверьте их охват.[9]
- Отправьте приглашение: получатель должен принять его и активировать доступ к панели управления.
Сейчас Apple указывает, что такое приглашение пользователя в панель управления истекает через 3 дня; его можно отправить повторно. Это не последующее приглашение TestFlight и тем более не 90-дневный срок действия сборки.[9]
Если у человека уже есть подходящая роль и доступ к этому приложению, этот шаг можно пропустить.
Второе приглашение: добавить людей и сборку во внутреннюю тестовую группу
- Откройте «Приложения» → ваше приложение → TestFlight.
- Нажмите «+» рядом с «Внутреннее тестирование» (Internal Testing) и создайте группу, например «Команда».
- Откройте группу и выберите «Пригласить тестировщиков» (Invite Testers) или «+» рядом со списком тестировщиков.
- Отметьте подходящих пользователей панели управления и добавьте их в группу.
- Нажмите «Добавить сборки» (Add Builds) и выберите обработанную сборку, доступную для тестирования.
- Заполните поле «Что тестировать» (What to Test) и добавьте сборку.
- Попросите получателя установить TestFlight на устройство, принять приглашение на тестирование и затем установить приложение.[5]
Наличие человека в списке ещё не означает завершения. Нужна доступная сборка, а получатель должен действительно принять приглашение и установить приложение.
Не находите нужного человека в списке приглашения? Сначала проверьте, принял ли он приглашение в панель управления, подходит ли его роль и есть ли у него доступ к этому приложению. Не спешите заново загружать приложение.
Для некоторых внутренних групп можно включить автоматическое распространение, но не следует считать, что сборки из любых источников автоматически попадут во все группы. Текущая справка Apple отдельно указывает: сборки, созданные Xcode Cloud, нужно вручную добавлять в группы в App Store Connect.[5]
8. Как добавить внешних тестировщиков?
Этот вариант подходит для друзей, клиентов, первых пользователей и тестировщиков из сообщества. Обычно именно он удобнее, когда вы впервые делитесь приложением с другими.
Сначала подготовьте внешнюю группу, которой можно назначить сборку
Действия выполняет владелец учётной записи, администратор или менеджер приложения:
- Если внутренней группы нет, сначала создайте её. В текущей инструкции Apple по внешнему тестированию предварительное создание внутренней группы указано как обязательное условие. Это не означает, что сначала нужен официальный выпуск или что внешние тестировщики должны сначала стать внутренними.[6]
- Откройте «Приложения» → ваше приложение → TestFlight.
- В разделе «Информация о тестировании» (Test Information) заполните описание бета-версии, адрес для обратной связи и контактные данные для проверки. Если нужен вход, предоставьте действующий способ доступа для проверяющего и инструкции, а также убедитесь, что необходимые серверы доступны. Не используйте личные данные реальных пользователей в качестве демонстрационных материалов.[6][8][14]
- Нажмите «+» рядом с «Внешнее тестирование» (External Testing) и создайте группу, например «Ранний доступ».
- Откройте группу, нажмите «Добавить сборки», выберите платформу, версию и конкретную сборку.
- Заполните поле «Что тестировать», например: «Создайте запись, закройте и снова откройте приложение, проверьте, сохранилась ли запись», — а не просто «Попробуйте что-нибудь».
- При необходимости отметьте «Автоматически уведомлять тестировщиков» (Automatically notify testers).
- В зависимости от состояния страницы отправьте сборку на проверку или начните тестирование; дождитесь завершения всех необходимых проверок.
- Пригласите тестировщиков по электронной почте, по публичной ссылке или обоими способами.[6]
Если первая проверка пройдена, дальше проверок не будет?
Нет.
Первая сборка, отправленная на внешнее тестирование, требует полной проверки. Последующим сборкам той же версии полная проверка может не требоваться, но обещать отсутствие проверок навсегда нельзя. Apple также требует отправлять значительные обновления бета-версии на проверку для тестирования до распространения.[6][14]
Срок проверки не фиксирован. Не обещайте другим, что «через несколько минут после загрузки точно можно будет установить» или «за 24 часа обязательно одобрят».
Если при добавлении сборки вы не включили автоматическое уведомление, после одобрения нужно выбрать «Уведомить тестировщиков» (Notify Testers): слева в TestFlight в разделе «Сборки» (Builds) выберите платформу и версию, затем нажмите кнопку уведомления в строке состояния этой сборки. Одобрено, распространено и установлено получателем — три разных состояния.[6]
Способ 1: приглашение по электронной почте
Откройте внешнюю группу и нажмите «+» рядом с «Тестировщики» (Testers). Можно ввести адреса новых тестировщиков, выбрать существующих или импортировать список.[6]
Получатель получает приглашение на тестирование, а не права управления в App Store Connect.
Способ 2: создать публичную ссылку и поделиться ею
Откройте страницу тестировщиков внешней группы и выберите «Создать публичную ссылку» (Create Public Link):
- Выберите «Доступно всем» (Open to Anyone) или «Фильтр по критериям» (Filter by Criteria).
- При необходимости задайте лимит набора по ссылке от 1 до 10 000 участников; при этом сохраняется общий лимит внешних тестировщиков приложения.
- Если используете фильтр, задайте условия для устройств и версий системы.
- После подтверждения скопируйте реально созданную ссылку и отправьте её друзьям, разместите в сообществе, письме или на сайте.[6]
Ссылка обычно начинается с https://testflight.apple.com/join/…. Копируйте настоящую ссылку, созданную Apple: не придумывайте код в конце и не выдавайте адрес административной страницы App Store Connect за ссылку для установки.
Ту же ссылку можно поместить в QR-код, но это не отдельный способ распространения и не обход проверки.
Перед отправкой ссылки проверьте четыре вещи
- Во внешней группе есть именно та сборка, которой вы хотите поделиться.
- Необходимые проверки пройдены, распространение уже началось.
- Сборка не просрочена и совместима с целевым устройством.
- Ссылка включена, свободные места есть, а условия фильтра не исключают нужного пользователя.[3][6]
Если ссылка открывается, это ещё не значит, что новую версию можно установить. Доступность старой сборки тоже не означает, что последняя сборка уже предоставлена этой группе.
Публичную ссылку могут пересылать дальше; это не закрытый список участников. Если вы хотите пригласить только нескольких определённых людей, лучше использовать почтовые приглашения и настроить контроль доступа в системе учётных записей самого приложения.
У присоединившихся по публичной ссылке имя и адрес электронной почты по умолчанию не отображаются в списке тестировщиков TestFlight, но дата установки, сеансы использования, сбои и другая информация остаются видны. Отправляя отзыв, человек также может сам указать почту. Это не означает полной анонимности перед Apple или собственной системой входа приложения.[3][6]
При обновлении сборок обычно можно использовать ту же ссылку внешней группы: заново набирать всех участников каждый раз не нужно. В разделе «Управление» (Manage) можно изменить фильтры, лимит участников или отключить ссылку. Отключение закрывает путь для новых участников, но не удаляет уже установленные приложения, не закрывает учётные записи приложения и не стирает данные на сервере.[6]
9. Как тестировщику установить и обновить приложение, отправить отзыв и выйти из тестирования?
Получив приглашение, выполните следующие действия на iPhone или iPad для тестирования:
- Установите официальный TestFlight от Apple из App Store.
- Откройте письмо-приглашение или публичную ссылку.
- Следуя подсказкам, перейдите в TestFlight, выберите «Принять» (Accept), затем «Установить» (Install).
- Прочитайте, что нужно протестировать, и начните пользоваться приложением.
- Когда появится новая сборка, обновите приложение в TestFlight; также можно включить автоматические обновления. У уже участвующих тестировщиков могут сразу отображаться «Обновить» (Update) или «Открыть» (Open).[3]
Для обычного внешнего тестирования не нужны пароль разработчика, роль в панели управления или предварительное создание отдельной учётной записи песочницы.
Если на телефоне уже есть официальная версия, появятся две копии?
Обычно нет. Тестовая версия того же приложения из TestFlight заменяет версию из App Store на устройстве.[3]
Поэтому сначала создайте резервную копию или экспортируйте важные данные. Бета-версия может изменить формат данных, и старая версия не обязательно сможет прочитать данные, записанные новой. Переключение между версиями не следует считать гарантированно безопасной операцией без потерь.
Если разработчик по-прежнему предоставляет другие действующие сборки, их можно выбрать через «Предыдущие сборки» (Previous Builds). Это не хранилище, где навсегда доступны все исторические версии.[3]
Как отправить понятный разработчику отзыв?
Откройте приложение в TestFlight и нажмите «Отправить отзыв о бета-версии» (Send Beta Feedback). На поддерживаемых системах можно также сделать снимок экрана внутри тестируемого приложения и отправить отзыв; после сбоя может появиться предложение поделиться дополнительной информацией.[3]
Вместо «не работает» полезнее написать так:
У меня [модель устройства], [версия системы], приложение [версия и номер сборки]. В настройках меняю язык и возвращаюсь на главный экран. Ожидаю, что весь текст тоже сменит язык, но главный экран остаётся на прежнем. Повторил 2 раза — проблема воспроизводится. Прикладываю снимок экрана.
Не включайте в снимки пароли, платёжные данные или чужую личную информацию. Отзывы, отправленные через TestFlight, также передаются Apple; собственная форма обратной связи приложения — другой канал.[3]
Что делать, если больше не хотите тестировать?
Откройте страницу приложения в TestFlight и выберите «Прекратить тестирование» (Stop Testing). Если официальная версия уже существует, её можно снова скачать или купить в App Store. У приложения, которое пока существует только в бета-версии и официально не выпущено, может не быть версии, на которую можно вернуться.[3]
Выход из тестирования не удаляет учётную запись, зарегистрированную в приложении. Учётные записи и облачные данные обрабатываются по правилам самого приложения.
10. Спишутся ли настоящие деньги при оплате в TestFlight?
Тестовые операции через встроенные покупки Apple в приложениях, установленных из TestFlight, проходят в песочнице: реальные деньги не списываются. Это относится и к тестированию подписок через StoreKit.[3][10]
«Песочница» — среда для репетиции покупки: приложение может получать сведения о товарах, запускать тестовую покупку, восстанавливать покупки и обрабатывать уведомления о транзакциях, но реальной выручки эти действия не создают.[10]
Чаще всего неверно понимают именно границы песочницы.
Отсутствие списания не означает, что официальная версия навсегда бесплатна
Apple прямо указывает: встроенные покупки, сделанные во время тестирования, не переносятся как покупки в официальную версию из App Store. Не обещайте тестировщикам: «Нажмите сейчас один раз — и после запуска у вас навсегда будет платная подписка».[3]
Если разработчик отдельно решит подарить пользователю возможности в его учётной записи приложения, это его собственное бизнес-решение, а не автоматическое правило TestFlight.
Сроки тестовой подписки — не реальные сроки оплаты
Для автоматически возобновляемых подписок текущая инструкция Apple для тестировщиков TestFlight указывает: независимо от исходного периода подписки при тестировании продление происходит ежедневно, не более 6 продлений в течение недели. Расширенные настройки с учётной записью песочницы позволяют менять скорость продления. Не переносите напрямую на обычное тестирование TestFlight параметры вроде «5 минут» или «12 раз» из других сценариев песочницы.[3][10]
Ускоренные сроки нужны для проверки продления и окончания подписки, а не описывают расчётный период для реальных пользователей.
Автоматически в песочницу попадают только покупки Apple, а не всё приложение
Приложение из TestFlight по-прежнему может:
- подключаться к рабочему серверу и изменять реальные записи;
- отправлять настоящие письма или сообщения;
- удалять реальные учётные записи или данные;
- открывать страницу, принимающую настоящие платежи;
- использовать способы оплаты, не относящиеся к встроенным покупкам Apple.
Оплата на сайте, Apple Pay и встроенные покупки StoreKit — не одно и то же. Нельзя считать, что оплата на веб-странице или реальные действия в сервисе обязательно обходятся без настоящих денег только потому, что приложение установлено из TestFlight. Разработчику нужно отдельно настраивать тестовые данные, серверы и другие платёжные среды.[10]; пояснение о границах системы приложения


Каждому тестировщику нужна учётная запись песочницы?
Нет. Для обычной установки через TestFlight и тестирования покупок можно использовать повседневную учётную запись Apple.[10]
Настраивать Sandbox Apple Account по документации Apple разработчику нужно только тогда, когда требуется очистить историю покупок, изменить расширенные настройки тестирования или воспользоваться подобными функциями. Дополнительные действия могут включать выход из раздела «Медиаматериалы и покупки», что влияет на доступ к приобретённому содержимому на устройстве. Обычному тестировщику это не требуется перед установкой; тем более не нужно без причины просить его полностью выходить из iCloud на устройстве. Apple рекомендует рассмотреть использование отдельного тестового устройства.[10]
Если покупка отображается как успешная, но функции не разблокировались, об этом всё равно нужно сообщить разработчику. Настройка товаров, проверка транзакций, предоставление прав, восстановление покупок и обработка продления должны быть реализованы правильно. Успешная покупка в песочнице не доказывает, что реальная оплата, зачисление выручки и вся логика подписок работают корректно.
11. Какие ограничения есть у TestFlight?
Широкие таблицы можно прокручивать по горизонтали. При работе с клавиатурой переведите фокус на таблицу и используйте клавиши со стрелками.
| Правило | Что это означает для вас | Источник |
|---|---|---|
| До 100 внутренних тестировщиков | Нужны подходящая роль в панели управления и доступ к приложению; также действуют ограничения числа пользователей учётной записи | [2][5][9] |
| До 10 000 внешних тестировщиков на приложение | Создание дополнительных групп не умножает общий лимит приложения | [6] |
| Лимит участников по публичной ссылке — от 1 до 10 000 | Можно набирать меньшую группу, но нельзя превышать общий лимит приложения | [6] |
| Не более 90 дней для каждой сборки | Срок идёт с загрузки, а не с одобрения, отправки приглашения или установки | [3] |
| До 30 устройств на тестировщика | Устройство, приложение и условия приглашения всё равно должны быть совместимы | [2][3] |
| Можно делиться максимум 100 сборками | Можно параллельно тестировать несколько сборок, но это не означает возможность одновременно отправить 100 сборок на проверку | [2] |
| Не более 6 сборок на TestFlight App Review за 24 часа | Это лимит отправок на проверку для тестирования, а не ограничение в 6 загрузок в день | [6] |
| Для каждой версии на проверке для тестирования одновременно может быть только одна сборка | Другие сборки той же версии можно отправить после одобрения текущей | [6] |
| Загрузка только для внутреннего тестирования | Ту же ограниченную сборку нельзя использовать для внешнего тестирования или официального выпуска | [5][6] |
Поможет ли новое приглашение после окончания 90 дней?
Нет. Срок относится к сборке, а не к отдельному тестировщику. Тот, кто присоединился позже, не получает заново полные 90 дней. После истечения срока тестовую версию больше нельзя открыть; разработчику нужно предоставить новую действующую сборку.[3]
Чтобы тестирование не прерывалось, загрузите и распространите новую сборку до истечения старой и напомните всем об обновлении. У новой сборки свой срок; она не продлевает срок жизни старой.
Можно ли постоянно продавать приложение или места через TestFlight?
Не рассматривайте TestFlight как канал продаж в обход официального выпуска.
Пункт 2.2 правил проверки Apple требует, чтобы тестовые приложения соблюдали правила проверки и предназначались для публичного выпуска. Он также запрещает обменивать распространение тестовых версий через TestFlight на вознаграждение в любой форме, включая награды за краудфандинг. Проще говоря, схема «заплатите за вступление в группу, чтобы получить бета-версию» — недопустимый способ распространения через TestFlight.[14]
12. Частые проблемы: почему у других не получается установить приложение?
Широкие таблицы можно прокручивать по горизонтали. При работе с клавиатурой переведите фокус на таблицу и используйте клавиши со стрелками.
| Что происходит | Что проверить в первую очередь |
|---|---|
| Загрузка успешна, но сборки в панели управления нет | Не продолжается ли обработка Apple, не пришло ли письмо об ошибке обработки, верно ли выбраны приложение и версия |
| Отображается «Недопустимый бинарный файл» (Invalid Binary) | Изучите конкретную ошибку загрузки Apple, исправьте её и отправьте новую сборку |
| Отображается «Недостаточно сведений о соответствии требованиям» (Missing Compliance) | Дополните сведения об экспортном соответствии с учётом реальных свойств приложения, а не просто ждите проверки |
| Человека нет в списке для внутреннего приглашения | Принял ли он приглашение в панель управления, подходит ли роль, есть ли доступ к приложению |
| Сборку нельзя добавить во внешнюю группу | Завершены ли обработка и оформление соответствия требованиям, не выбран ли по ошибке вариант загрузки только для внутреннего тестирования |
| Сборка ожидает проверки или проходит проверку для тестирования | Необходимое одобрение для внешнего тестирования ещё не получено; доступность для внутренних участников его не заменяет |
| Проверка пройдена, но обновление никто не получил | Добавлена ли сборка в нужную группу, не требуется ли вручную уведомить тестировщиков |
| Ссылка больше не принимает тестировщиков | Не отключена ли она, не исчерпан ли лимит ссылки или приложения, есть ли доступная сборка |
| Ссылка открывается, но установить нечего | Проверьте систему, устройство, фильтры, срок действия и фактическую сборку в группе |
| Приглашение отправлено, но данных об использовании нет | Различайте приглашение, принятие и установку. Показатели тестирования после установки могут отображаться с задержкой до 24 часов; не делайте сразу вывод, что установить не удалось [17] |
| Человек не видит новую функцию | Проверьте установленную версию и номер сборки в скобках, а не только название приложения |
| Приглашение принято, но приложение просит войти | Право на установку не равно учётной записи приложения; разработчик должен отдельно дать инструкции по регистрации или входу |
| Через некоторое время приложение внезапно перестало открываться | Сначала проверьте оставшиеся дни и статус срока действия в TestFlight, затем свяжитесь с разработчиком |
| Покупка в песочнице успешна, но в официальной версии нет подписки | Тестовая покупка не превращается автоматически в права на настоящую покупку; это не основание считать, что реальный платёж потерян |
Это направления поиска, а не способ установить точную причину по одному сообщению об ошибке.[3][5][6][11]
Особое внимание: даже зелёный статус «Тестируется» (Testing) в панели управления может означать использование только внутренней группой. Чтобы понять, могут ли установить приложение внешние пользователи, нужно проверить целевую внешнюю группу, конкретную сборку и её доступность в этой группе.[11]
«Готово к отправке» (Ready to Submit), «Ожидает проверки» (Waiting for Review), «На проверке бета-версии» (In Beta Review) и «Готово к тестированию» (Ready to Test) — разные этапы. В частности, готовность к тестированию ещё может требовать добавления тестировщиков или ручного уведомления.[11]
13. Где разработчику смотреть отзывы и как выпускать обновления?
Откройте «Приложения» → ваше приложение → TestFlight → «Отзывы» (Feedback). Там доступны «Снимки экрана» (Screenshots) и «Сбои» (Crashes) с фильтрами по версии, устройству и другим параметрам. Возможность отправить отзыв из самого приложения зависит также от настроек группы.[12]
Сначала исправьте воспроизводимые проблемы, затем переходите к следующему циклу:
- Исправьте проблему, соберите приложение с новым номером сборки и загрузите его.
- Дождитесь обработки и выполните необходимые требования соответствия.
- Добавьте новую сборку в нужную группу и пройдите необходимую внешнюю проверку.
- Обновите задания для тестирования и уведомите тестировщиков в соответствии с настройками.
- Попросите участников целевой группы подтвердить, какую версию и сборку они действительно установили, и повторно проверить исходную проблему.
История загрузок, списки групп и одобрение проверки важны, но в конце нужно убедиться: нужные люди действительно установили нужную сборку.
Один скриншот внутреннего тестирования не доказывает, что приложение могут установить все внешние пользователи. И работа в симуляторе не заменяет результат установки на устройство.
14. Как завершить тестирование или официально выпустить приложение?
Сначала определите, что именно вы хотите прекратить:
- Больше не набирать новых пользователей: отключите публичную ссылку-приглашение внешней группы.
- Изменить, кому доступны какие сборки: управляйте тестировщиками, группами и назначением сборок.
- Прекратить новые установки конкретной сборки: откройте сведения о сборке и выберите «Завершить срок действия сборки» (Expire Build). Не воспринимайте это как удалённое удаление приложения со всех телефонов или стирание облачных учётных записей.[6][13]
- Выпустить официально: подготовьте материалы для официальной версии в App Store, выберите подходящую сборку и отдельно отправьте её на проверку для выпуска.[1][2]
Подходящую сборку, уже загруженную обычным способом для TestFlight, можно выбрать для официальной проверки: пересобирать её только ради выхода в магазин не всегда нужно. Но если код действительно изменился, нужна новая сборка; загрузки «только для внутреннего тестирования» для официального выпуска не подходят.[2][5]
Одобрение в TestFlight не публикует приложение в App Store автоматически. И наоборот: появление официальной версии не завершает автоматически действующие бета-версии. Завершение тестирования и переход пользователей нужно планировать отдельно.[1]
15. Что написать первым тестировщикам: готовый шаблон
Хочу попросить тебя попробовать раннюю версию [название приложения].
Сначала установи официальный TestFlight от Apple из App Store, затем открой на iPhone [настоящая ссылка-приглашение], прими приглашение и установи приложение.
В этот раз особенно прошу проверить: [1–2 конкретных задания]. Поддерживаемые устройства и системы: [фактические требования].
Это бета-версия, в ней могут быть проблемы, поэтому сначала сделай резервную копию важных данных. Если что-то пойдёт не так, выбери в TestFlight «Отправить отзыв о бета-версии» и расскажи, что делал, чего ожидал и что произошло на самом деле. Лучше приложить снимок экрана и номер версии.
Замените текст в квадратных скобках реальными сведениями. Отправляйте приглашение, только убедившись, что сборку в целевой внешней группе действительно можно установить. Не рассылайте всем ссылку, которая ещё ждёт проверки, со словами, что приложение уже доступно.
Последняя проверка перед распространением: 10 пунктов
- Я выбрал внутреннее или внешнее тестирование с учётом прав учётных записей и не выдал лишние права ради удобства.
- Обработка нужной сборки завершена, нерешённых препятствий для распространения нет.
- В целевой группе действительно есть эта сборка.
- Необходимая внешняя проверка пройдена, нужные уведомления отправлены.
- Я проверил способ приглашения: письма отправлены нужным людям; если используется публичная ссылка, она включена и места есть. Целевые устройства и системы соответствуют требованиям.
- Описание тестирования, адрес для обратной связи и задания достоверны и полезны.
- Тестировщики знают, что это бета-версия и что она может заменить официальную.
- Я различаю покупки в песочнице, реальные серверы, оплату на сайте и действия с реальными последствиями.
- Я проверил срок действия сборки и запланировал последующие обновления.
- Кто-то из целевой аудитории подтвердил, что действительно установил нужную сборку, а не просто открыл страницу приглашения.
Когда вы впервые делитесь приложением, настоящий финиш — не «загрузка завершена». Важно, чтобы нужные люди установили нужную версию, понимали, что проверять, и знали, как сообщить вам о проблемах.
Источники и дополнительные материалы
Перечисленные материалы проверены 17 сентября 2026 года. Исторические события подтверждаются публикациями того времени или объявлениями Apple соответствующих лет; актуальные правила основаны преимущественно на официальной справке Apple. Интерфейс может различаться в зависимости от языка и версии.
[1] Apple: обзор TestFlight. https://developer.apple.com/help/app-store-connect/test-a-beta-version/testflight-overview/ ↑
[2] Apple: описание TestFlight. https://developer.apple.com/testflight/ ↑
[3] Apple: справка для тестировщиков TestFlight, включая установку, срок в 90 дней, подписки, конфиденциальность и выход из тестирования. https://testflight.apple.com/ ↑
[4] Apple: вступление в Developer Program и стоимость. https://developer.apple.com/programs/enroll/ ↑
[5] Apple: добавление внутренних тестировщиков. https://developer.apple.com/help/app-store-connect/test-a-beta-version/add-internal-testers/ ↑
[6] Apple: приглашение внешних тестировщиков. https://developer.apple.com/help/app-store-connect/test-a-beta-version/invite-external-testers/ ↑
[7] Apple: загрузка сборок. https://developer.apple.com/help/app-store-connect/manage-builds/upload-builds/ ↑
[8] Apple: предоставление информации о тестировании. https://developer.apple.com/help/app-store-connect/test-a-beta-version/provide-test-information/ ↑
[9] Apple: добавление и изменение пользователей. https://developer.apple.com/help/app-store-connect/manage-your-team/add-and-edit-users/ ↑
[10] Apple: тестирование встроенных покупок в песочнице. https://developer.apple.com/documentation/storekit/testing-in-app-purchases-with-sandbox ↑
[11] Apple: состояния сборок приложения. https://developer.apple.com/help/app-store-connect/reference/app-uploads/app-build-statuses/ ↑
[12] Apple: просмотр отзывов тестировщиков. https://developer.apple.com/help/app-store-connect/test-a-beta-version/view-tester-feedback/ ↑
[13] Apple: прекращение тестирования сборки. https://developer.apple.com/help/app-store-connect/test-a-beta-version/stop-testing-a-build/ ↑
[14] Apple: правила проверки приложений, в особенности пункт 2.2 «Бета-тестирование». https://developer.apple.com/app-store/review/guidelines/#beta-testing ↑
[15] Apple: добавление нового приложения. https://developer.apple.com/help/app-store-connect/create-an-app-record/add-a-new-app/ ↑
[16] Apple: распространение приложения для бета-тестирования и выпуска. https://developer.apple.com/documentation/xcode/distributing-your-app-for-beta-testing-and-releases ↑
[17] Apple: просмотр сведений о тестировщиках и управление ими. https://developer.apple.com/help/app-store-connect/test-a-beta-version/view-and-manage-tester-information/ ↑
[18] Apple: предстоящие требования, актуальные требования к SDK и загрузке. https://developer.apple.com/news/upcoming-requirements/ ↑
Исторические материалы:
[H1] Macworld, 2011-01-21, «TestFlight значительно упрощает тестирование приложений iOS». https://www.macworld.com/article/210218/testflight.html ↑
[H2] MacStories, 2012-03-05, «Burstly приобрела TestFlight». https://www.macstories.net/news/testflight-acquired-by-burstly-launches-testflight-live/ ↑
[H3] The Verge, 2014-02-21, «Apple покупает создателя платформы тестирования iOS TestFlight». https://www.theverge.com/apps/2014/2/21/5434060/apple-buys-maker-of-the-ios-testing-platform-testflight ↑
[H4] Apple, 2014-10-23, «Бета-тестирование через TestFlight для всех». https://developer.apple.com/news/?id=10232014a ↑
[H5] Apple, 2017-07-31, «Увеличение лимита тестировщиков в TestFlight». https://developer.apple.com/news/?id=07312017a ↑
[H6] Apple, 2018-09-26, «Приглашение тестировщиков по публичной ссылке». https://developer.apple.com/news/?id=09262018a ↑