TestFlight: що це, налаштування та робота з тестуванням

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

TestFlight — офіційна платформа Apple для поширення передрелізних збірок додатків серед тестувальників. Дозволяє розробникам завантажувати бета-версії в App Store Connect, керувати доступом та збирати відгуки до публікації. За даними Apple Developer Documentation, TestFlight підтримує до 10 000 зовнішніх тестувальників через публічне посилання та до 100 внутрішніх — за Apple ID.

Головне

  • TestFlight — офіційний інструмент Apple для бета-тестування iOS, iPadOS, macOS, tvOS та watchOS додатків
  • Внутрішнє тестування дозволяє додати до 100 учасників за Apple ID без модерації збірки
  • Зовнішнє тестування підтримує до 10 000 учасників через публічне посилання з обов'язковою перевіркою Beta App Review
  • Управління збірками включає групування тестувальників, збір метрик та краш-логів від Apple
  • Публікація з TestFlight виконується без повторної збірки — затверджена бета-версія надсилається в App Store однією кнопкою

Що таке TestFlight?

TestFlight — бета-тестова платформа, інтегрована в App Store Connect, для поширення передрелізних збірок додатків до публікації в App Store. Розробники завантажують збірки, заархівовані через Xcode, і поширюють їх серед тестувальників без необхідності поширювати IPA-файли вручну.

Apple придбала TestFlight у 2014 році для заміни Ad Hoc поширення через Provisioning Profiles. Раніше розробники збирали UDID пристроїв, створювали provisioning profile та поширювали IPA через сторонні сервіси. TestFlight автоматизував весь процес: тестувальник встановлює бета-додаток через TestFlight App, а розробник керує доступом через веб-інтерфейс.

За даними WWDC 2024, TestFlight обробляє понад 2 мільйони тестових встановлень щомісяця. Платформа підтримує поширення на всі платформи Apple, включаючи iOS, iPadOS, macOS, tvOS, watchOS та visionOS, що робить її єдиним уніфікованим інструментом бета-тестування в екосистемі Apple.

Внутрішнє та зовнішнє тестування

TestFlight розділяє тестування на два типи: Internal Testing для членів команди (до 100 учасників, збірка доступна відразу після завантаження) та External Testing для зовнішніх користувачів (до 10 000 учасників, потрібна перевірка Beta App Review). Внутрішнє тестування не потребує модерації, що робить його ідеальним для швидкої перевірки збірок всередині команди.

External Testing дозволяє запрошувати тестувальників електронною поштою або через публічне посилання. Після проходження Beta App Review збірка доступна для завантаження всім запрошеним. Для додатків, що публікуються вперше, External Testing є обов'язковим згідно з правилами App Store Review Guidelines.

Як працює TestFlight: основні сценарії

Робочий процес TestFlight починається з архівації додатка в Xcode та завантаження в App Store Connect через Organizer або Transporter. Після завантаження збірка проходить автоматичну перевірку на валідність та сканування на безпеку.

Внутрішні тестувальники отримують сповіщення про доступну збірку через TestFlight App. Вони можуть встановити додаток та залишати відгуки через вбудований інтерфейс скріншотів та текстових коментарів. Для зовнішніх тестувальників потрібне схвалення Beta App Review, після якого збірка поширюється так само, як внутрішня.

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

Термін дії збірок

Кожна завантажена в TestFlight збірка має термін дії 90 днів. Після закінчення терміну тестувальники більше не можуть встановити або запустити додаток. Для продовження тестування необхідно завантажити нову збірку зі збільшеним номером версії. Обмеження стимулює розробників регулярно оновлювати збірки.

При наближенні дати закінчення терміну TestFlight надсилає сповіщення розробнику та тестувальникам. Якщо нову збірку не завантажено вчасно, тестування переривається, а учасники втрачають доступ до додатка до появи свіжої версії.

Налаштування TestFlight в App Store Connect

Налаштування TestFlight починається в App Store Connect в розділі TestFlight. Для запуску потрібна як мінімум одна завантажена збірка додатка. Інтерфейс розділений на три основні розділи: збірки, внутрішні тестувальники та зовнішні групи.

Внутрішні тестувальники додаються за Apple ID. Кожен учасник повинен бути запрошений через App Store Connect з роллю, що включає доступ до тестування. Після запрошення тестувальник отримує email та може встановити додаток через TestFlight App на пристрої.

Для зовнішнього тестування створюються групи, що об'єднують тестувальників за сценаріями. Кожна група прив'язується до конкретних збірок. Група може мати публічне посилання для самостійного приєднання — це зручно для open-source проектів або масового бета-тестування. За даними Apple Developer Documentation, публічне посилання може бути відкликане в будь-який момент без втрати доступу вже приєднаних тестувальників.

Завантаження збірки в TestFlight

Завантаження збірки в TestFlight виконується через Xcode Organizer після архівації проекту. Для завантаження потрібен обліковий запис у програмі Apple Developer Program з правами Admin або App Manager в App Store Connect.

Перед завантаженням збірка повинна бути підписана коректним Distribution Certificate та містити Provisioning Profile з App Store дистрибуцією. Xcode автоматично налаштовує підпис через Automatic Signing при активному обліковому записі розробника.

bash
# Upload via xcrun altool (Xcode 15+ uses notarytool)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait

# Upload to App Store Connect directly
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"

Після завантаження збірка проходить автоматичну перевірку: валідація бінарника, сканування на шкідливий код, перевірка відповідності App Store Review Guidelines. Зазвичай перевірка займає від кількох хвилин до години. Статус відображається в App Store Connect в розділі TestFlight.

Автоматичне завантаження через CI/CD

Для CI/CD (GitHub Actions, Bitrise, Jenkins) використовується xcrun altool або notarytool для завантаження збірки напряму без Xcode. Ключі аутентифікації зберігаються в Keychain або App Store Connect API. Fastlane надає екшн upload_to_testflight для повної автоматизації процесу.

Запрошення тестувальників: внутрішнє та зовнішнє

Запрошення тестувальників в TestFlight залежить від типу тестування. Внутрішні тестувальники додаються безпосередньо в App Store Connect за Apple ID та отримують доступ до всіх збірок негайно після завантаження. Зовнішні тестувальники запрошуються через групи із зазначенням конкретних збірок.

Для зовнішнього тестування потрібно пройти Beta App Review — спрощену версію App Review, що перевіряє базову функціональність та відповідність правилам. Перша зовнішня збірка зазвичай проходить перевірку за 1–2 дні, наступні — швидше. Після схвалення всі тестувальники групи отримують сповіщення.

Публічне посилання спрощує запрошення: розробник публікує посилання на сайті або в соцмережах, користувачі переходять за ним та автоматично приєднуються до тестування. TestFlight підтримує до 10 000 учасників на зовнішню групу, а кількість груп не обмежена. Для кожного додатка можна налаштувати кілька груп з різними збірками.

Робота з відгуками

Тестувальники надсилають відгуки через TestFlight App, прикріплюючи скріншоти та анотації. Розробник бачить всі відгуки в App Store Connect, згруповані за збірками. Кожен відгук містить версію ОС, модель пристрою та часову мітку, що полегшує відтворення та усунення багів.

Публікація після тестування

Публікація додатка з TestFlight в App Store не потребує повторної збірки. Достатньо вибрати затверджену бета-збірку в App Store Connect та натиснути Submit for Review. Та ж збірка, яка пройшла бета-тестування, надсилається на фінальний App Review без перекомпіляції.

Це гарантує, що в продакшн потрапляє саме та версія, яку тестували учасники, виключаючи ризики відмінностей між бета- та релізними збірками. Після проходження фінального App Review збірка автоматично публікується в App Store відповідно до заданих правил Availability.

Перед публікацією розробнику необхідно оновити метадані: опис версії, скріншоти для нової версії ОС та інформацію про зміни. TestFlight збірки, які не були надіслані в App Store, автоматично видаляються через 90 днів після завантаження разом з усіма даними тестування.

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

Скільки часу займає перевірка збірки в TestFlight?

Автоматична перевірка зазвичай займає від 5 хвилин до години. Beta App Review для зовнішнього тестування — від кількох годин до 2 днів. Для повторних збірок перевірка проходить швидше, оскільки Apple враховує історію попередніх рев'ю.

Чи можна використовувати TestFlight без Apple Developer Program?

TestFlight доступний лише учасникам Apple Developer Program (99$ на рік). Без підписки завантаження збірок в App Store Connect неможливе. Для Ad Hoc поширення без підписки знадобиться Enterprise-акаунт або SideStore.

У чому різниця між TestFlight та Ad Hoc поширенням?

Ad Hoc вимагає збору UDID пристроїв, створення Provisioning Profile та ручного поширення IPA. TestFlight автоматизує весь процес: розробник завантажує збірку, тестувальник встановлює через TestFlight App без provisioning профілів та UDID.

Як довго живе збірка в TestFlight?

Термін життя збірки в TestFlight — 90 днів з моменту завантаження. Після закінчення терміну тестувальники не можуть встановити або запустити додаток. Для продовження тестування необхідно завантажити нову збірку зі збільшеним номером версії.

Чи підтримує TestFlight macOS-додатки?

TestFlight підтримує macOS-додатки починаючи з macOS 11 Big Sur. Тестувальники встановлюють бета-версію через TestFlight App на Mac. Процес завантаження та управління не відрізняється від iOS-версії: архівація в Xcode, завантаження через Organizer.

Підсумки

  • TestFlight — офіційна платформа Apple для бета-тестування, інтегрована в App Store Connect та Xcode
  • Внутрішнє тестування (до 100 учасників) доступне відразу після завантаження збірки без модерації
  • Зовнішнє тестування (до 10 000 учасників) вимагає Beta App Review та підтримує публічні посилання
  • Завантаження збірок виконується через Xcode Organizer, xcrun altool або CI/CD-автоматизацію
  • Відгуки та метрики збираються автоматично, включаючи краш-логи та скріншоти з анотаціями
  • Публікація в App Store виконується із затвердженої бета-збірки без повторної компіляції
  • Рекомендується використовувати TestFlight для всіх передрелізних збірок як єдину офіційну інфраструктуру Apple

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

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

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

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