TestFlight: що це, бета-тестування та робота з білдами

Автор: IT Sectr Опубліковано: 2026-04-11 Час читання: 9 хв

TestFlight — це офіційний сервіс Apple для бета-тестування додатків iOS, iPadOS, watchOS і tvOS. Через TestFlight розробники поширюють передрелізні збірки серед до 10 000 зовнішніх тестувальників, збирають відгуки та звіти про збої без необхідності публікації в App Store. За даними Apple Developer Documentation, 2025, понад 80% додатків в App Store використовують TestFlight на етапі підготовки релізу.

Головне

  • TestFlight — платформа Apple для поширення бета-версій додатків серед тестувальників
  • До 10 000 зовнішніх тестувальників і до 100 внутрішніх учасників однієї команди
  • Інтеграція з Xcode та App Store Connect дозволяє завантажувати білди безпосередньо з IDE
  • Автоматичний збір звітів про збої, відгуків і діагностичних даних від тестувальників
  • Без TestFlight поширення iOS-білдів поза App Store вимагає Enterprise-сертифіката або jailbreak

Що таке TestFlight

TestFlight — це легітимний і єдиний офіційний спосіб поширення iOS-додатків для тестування без публікації в App Store. Сервіс був запущений Apple у 2014 році після придбання однойменної компанії. До появи TestFlight розробники використовували Ad Hoc дистрибуцію з обмеженням 100 пристроїв на сезон — TestFlight зняв це обмеження та спростив процес до кількох кліків.

Навіщо потрібен TestFlight

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

TestFlight vs Ad Hoc vs Enterprise

Існує три способи поширення iOS-додатків поза App Store: Ad Hoc (обмеження 100 пристроїв, вимагає UDID кожного пристрою), Enterprise (внутрішньокорпоративне поширення без ліміту, вимагає Enterprise-сертифіката Apple за $299/рік) і TestFlight (до 10 000 тестувальників, безкоштовно, не вимагає збору UDID). TestFlight — оптимальний вибір для бета-тестування, Ad Hoc підходить для пристрій-специфічних тестів, Enterprise — для корпоративних додатків.

Як працює TestFlight

Процес публікації білда через TestFlight складається з п’яти кроків: збірка в Xcode, завантаження в App Store Connect через Archive Organizer, обробка Apple, запрошення тестувальників, встановлення додатка через додаток TestFlight. Кожен крок займає від кількох хвилин до години залежно від складності проекту.

Вимоги Apple до білда

Білд має бути зібраний з distribution-сертифікатом і коректним provisioning profile. Apple перевіряє: дійсність сертифіката, відповідність bundle identifier, відсутність приватних API, коректність іконок (1024×1024) та наявність App Store іконки. Якщо білд не проходить перевірку — TestFlight показує помилку з описом проблеми.

Процес обробки білда

Після завантаження білд проходить через автоматизовану перевірку Apple: статичний аналіз бінарного коду, перевірка цифрового підпису, сканування на використання приватних API та шкідливого ПЗ. Обробка займає від 15 хвилин до 2 годин для першого білда і зазвичай 15–30 хвилин для наступних. Статус обробки відображається в Activity в App Store Connect.

swift
// Налаштування TestFlight у Swift AppDelegate
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // Перевірка: чи встановлено додаток через TestFlight
        if Bundle.main.appStoreReceiptURL?.lastPathComponent
            == "sandboxReceipt" {
            print("Бета-версія через TestFlight")
        }
        return true
    }
}

Внутрішні та зовнішні тестувальники

TestFlight поділяє тестувальників на дві групи: внутрішні (Internal Testers) і зовнішні (External Testers). Різниця — в кількості учасників, доступі до білдів і необхідності рев’ю від Apple. Правильний вибір групи прискорює процес тестування та дотримується політик App Store.

Внутрішні тестувальники (Internal)

До 100 учасників зі складу команди Apple Developer Program. Для запрошення внутрішнього тестувальника достатньо додати його Apple ID в App Store Connect — він одразу отримує доступ до всіх білдів. Не потрібне рев’ю Apple. Ідеально для щоденного smoke-тестування та перевірки фіч на ранніх стадіях.

Зовнішні тестувальники (External)

До 10 000 учасників, які не входять до команди розробки. Перший білд для зовнішніх тестувальників проходить базове рев’ю Apple (зазвичай 1–2 дні). Наступні білди зі змінами, що не зачіпають ключову функціональність, можуть проходити без повторного рев’ю. Зовнішні тестувальники запрошуються через email або публічне посилання.

ПараметрInternal TestersExternal Testers
Макс. кількість10010 000
Рев’ю AppleНе потрібноПерший білд — обов’язково
ЗапрошенняApple ID з командиEmail / публічне посилання
Термін дії білда90 днів90 днів
Доступ до білдівДо всіх одразуТільки активні групи

Як завантажити білд у TestFlight

Завантаження білда в TestFlight виконується через Xcode, Application Loader або командний рядок за допомогою xcrun. Найпоширеніший спосіб — через Xcode Archive Organizer після створення архіву проекту. Альтернативний спосіб — автоматизація через Fastlane для CI/CD Pipeline.

Ручне завантаження через Xcode

Зберіть архів (Product → Archive), відкрийте Organizer, виберіть архів і натисніть Distribute App. Виберіть TestFlight як метод поширення, вкажіть сертифікат і provisioning profile. Xcode завантажить білд в App Store Connect, де він з’явиться після обробки. Весь процес займає 10–20 хвилин для першого завантаження.

Автоматизація через Fastlane

Fastlane — найпопулярніший інструмент для автоматизації завантаження білдів у TestFlight. Команда fastlane pilot завантажує білд і керує тестувальниками без відкриття Xcode. Інтеграція Fastlane з CI/CD сервером дозволяє публікувати білди в TestFlight автоматично після проходження всіх тестів.

ruby
# Fastfile — завантаження білда в TestFlight
default_platform(:ios)

lane :beta do
    # Отримання сертифікатів через match
    match(type: "appstore")

    # Збірка та підписання
    build_app(
        scheme: "MyApp",
        export_method: "app-store",
        workspace: "MyApp.xcworkspace"
    )

    # Завантаження в TestFlight
    pilot(
        skip_waiting_for_build: true,
        distribute_external: false,
        notify_external_testers: false
    )
end

Fastlane pilot автоматично завантажує IPA в App Store Connect, очікує обробки (якщо skip_waiting_for_build = false) і призначає білд вибраним групам тестувальників. Команда distribute_external: true негайно надсилає білд зовнішнім тестувальникам після обробки.

Завантаження через командний рядок

Без Fastlane можна використовувати xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool підтримується Apple для CI-середовищ і не потребує графічного інтерфейсу. Пароль передається через keychain або пароль, специфічний для додатка — не використовуйте паролі у відкритому тексті.

Збір відгуків і діагностика в TestFlight

TestFlight надає кілька механізмів зворотного зв’язку: вбудована форма відгуку, автоматичний збір звітів про збої, метрики використання та скріншоти. Команда отримує всі дані в App Store Connect без необхідності впроваджувати сторонні SDK для бета-тестування.

Вбудована форма відгуку

Тестувальник відкриває додаток TestFlight, вибирає ваш білд і натискає Send Feedback. Форма дозволяє надіслати текстовий відгук, прикріпити скріншот і вказати серйозність. Усі відгуки збираються в App Store Connect у розділі TestFlight → Feedback. Розробник може відповісти на відгук, і тестувальник отримає сповіщення в додатку TestFlight.

Звіти про збої та діагностика

При падінні додатка TestFlight автоматично збирає звіт про збій: стек викликів, версію ОС, модель пристрою та час падіння. Звіти про збої доступні в Xcode Organizer (Crashes) і App Store Connect (TestFlight → Crashes). Для отримання символізованих звітів про збої необхідно завантажити dSYM-файли разом з білдом або окремо через Xcode.

Моніторинг використання

TestFlight показує метрики: кількість встановлень, активних тестувальників, сесій і збоїв. Аналітика оновлюється щодня та допомагає оцінити залученість тестувальників. Якщо за тиждень жоден тестувальник не відкрив додаток — варто переглянути комунікацію з групою або якість білда.

Від TestFlight до публікації в App Store

TestFlight є невід’ємною частиною процесу публікації в App Store. Той самий білд, який пройшов бета-тестування через TestFlight, може бути відправлений на рев’ю Apple без перезбірки — достатньо натиснути кнопку в App Store Connect. Це виключає ризик того, що продакшн-білд відрізняється від протестованого.

Відправка на рев’ю додатка

У App Store Connect виберіть білд, який пройшов тестування, і натисніть Submit for Review. Apple використовує той самий білд з TestFlight — повторне завантаження не потрібне. Час рев’ю зазвичай становить 1–3 дні. Якщо білд відхилено — виправте зауваження, завантажте новий білд у TestFlight і повторіть процес.

Останній білд перед релізом

Рекомендується після фінального раунду тестування в TestFlight зачекати 24–48 годин перед відправкою на рев’ю. Цей час дозволяє тестувальникам виявити критичні баги, які можуть пройти автоматичні тести. Release candidate (RC) білд у TestFlight — стандарт практики зрілих iOS-команд.

Що робити після публікації

TestFlight білди автоматично стають недоступними для нових встановлень після виходу релізної версії в App Store. Тестувальники, які вже встановили бета-версію, можуть продовжувати її використовувати протягом 30 днів після публікації релізу, після чого додаток перестає відкриватися. Переконайтеся, що тестувальники оновилися до версії App Store.

Часті запитання

Скільки коштує TestFlight для розробника?

TestFlight повністю безкоштовний для учасників Apple Developer Program ($99/рік). За використання сервісу не стягується додаткова плата, незалежно від кількості білдів і тестувальників. Платите тільки за підписку розробника Apple — TestFlight включено в неї за замовчуванням.

Чи можна використовувати TestFlight для Android додатків?

Ні, TestFlight — ексклюзивний сервіс екосистеми Apple. Для Android існує аналогічний інструмент — Google Play Console — Internal Testing та Open Testing треки. Для публікації бета-версій на Android також використовуються Firebase App Distribution і DeployGate.

Як довго обробляється білд у TestFlight?

Обробка займає від 15 хвилин до 2 годин для першого білда після завантаження. Наступні білди обробляються швидше — зазвичай 15–30 хвилин. Час обробки залежить від завантаження серверів Apple. Статус можна відстежувати в App Store Connect у розділі Activity.

Чи є обмеження на кількість білдів у TestFlight?

Кожен білд доступний для тестування 90 днів з моменту завантаження. Кількість білдів не обмежена, але активними можуть бути не більше 30 білдів одночасно. Старі білди автоматично видаляються після закінчення терміну дії або при досягненні ліміту.

Як запросити тестувальника без Apple ID?

Для участі в тестуванні через TestFlight потрібен Apple ID. Зовнішні тестувальники запрошуються через email-посилання — при першому відкритті посилання система запропонує створити Apple ID, якщо його ще немає. Публічне посилання також доступне для поширення в соцмережах або блозі.

Підсумки

  • TestFlight — офіційний сервіс Apple для бета-тестування, безкоштовний для учасників Apple Developer Program
  • До 10 000 зовнішніх і 100 внутрішніх тестувальників без збору UDID і ручного конфігурування пристроїв
  • Автоматичний збір звітів про збої, відгуків і діагностичних даних через додаток TestFlight
  • Завантаження білдів можливе через Xcode, Application Loader, xcrun altool і Fastlane
  • Той самий білд з TestFlight відправляється на рев’ю в App Store — виключена різниця між протестованою та релізною версією
  • 90 днів — термін доступності білда для тестування, до 30 активних білдів одночасно
  • Рекомендація: налаштуйте автоматичне завантаження білдів у TestFlight через Fastlane та CI/CD для регулярного тестування кожної збірки

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також