# TestFlight: як протестувати застосунок для iPhone

> Внутрішні й зовнішні тестувальники, бета-перевірка, публічне посилання, збірки на 90 днів: TestFlight простими словами і що перевірити перед Apple.

Оригінальна сторінка: [TestFlight: як протестувати застосунок для iPhone](https://devoria.fr/uk/blog/testflight-testuvannya-zastosunku-iphone)
Автор: [Mehdi Azizi](https://devoria.fr/uk/mehdi-azizi)
Опубліковано: 2026-09-23
Останнє оновлення змісту: 2026-10-09


## Що таке TestFlight і навіщо він потрібен?

TestFlight це сервіс Apple, який дає змогу встановити твій застосунок на справжні iPhone ще до виходу в App Store. Ти завантажуєш збірку в App Store Connect, запрошуєш тестувальників, а вони встановлюють її через застосунок TestFlight, безкоштовний в App Store. Тестувальники бувають двох типів: внутрішні, до 100 учасників твоєї команди, без перевірки Apple; і зовнішні, до 10 000 людей, яких запрошують електронною поштою або за публічним посиланням, після бета-перевірки твоєї першої збірки. Кожну збірку можна тестувати 90 днів.

| Критерій                | Внутрішні тестувальники        | Зовнішні тестувальники       |
| ----------------------- | ------------------------------ | ---------------------------- |
| Максимальна кількість   | 100                            | 10 000                       |
| Доступ до твого акаунта | Так, з роллю                   | Ні                           |
| Запрошення              | Додавання до внутрішньої групи | Email або публічне посилання |
| Бета-перевірка Apple    | Немає                          | На першій збірці             |
| Для кого                | Ти, партнер, близька людина    | Друзі, перші користувачі     |

Щоб користуватися TestFlight, потрібен [платний акаунт Apple Developer](https://devoria.fr/uk/blog/akaunt-rozrobnyka-apple-tsina): [із безкоштовним акаунтом сервіс недоступний](https://developer.apple.com/support/compare-memberships/). Увесь цей гайд виходить з того, що він у тебе є, за стандартною програмою: корпоративна програма Apple доступу до TestFlight не дає.

У моїх застосунках кожна збірка, надіслана через EAS Submit, проходить через TestFlight і мій iPhone, перш ніж піти на перевірку. Саме там я знаходжу проблеми, яких не видно під час розробки.

## Як надіслати збірку в TestFlight

Збірка це скомпільована й підписана версія твого застосунку: якщо підпис неправильний, Apple відхилить її під час завантаження з помилкою ITMS-90034. Щоб вона з'явилася в TestFlight, її треба надіслати в App Store Connect. З Expo це `eas build --platform ios`, потім `eas submit --platform ios`, з достатньо свіжим образом збірки, щоб уникнути ITMS-90725. [Згідно з документацією Expo](https://docs.expo.dev/submit/ios/), збірка з'являється в TestFlight після обробки в Apple, зазвичай за 10-15 хвилин. Усе це можна зробити з ПК: гайд [як опублікувати iOS-застосунок без Mac](https://devoria.fr/uk/blog/publish-ios-app-without-mac-expo-eas) описує весь ланцюжок.

Дві деталі часто блокують усе першого разу:

- **Номер збірки має змінюватися при кожному завантаженні.** Apple не приймає дві збірки з однаковим номером для однієї версії. В EAS увімкни автоматичне збільшення, і можна про це забути.
- **Питання про шифрування.** Поки ти не відповів на питання про використання шифрування, збірка висить зі статусом відсутньої відповідності (Missing Compliance). Можна відповідати щоразу в App Store Connect або один раз прописати це в конфігурації застосунку.

## Внутрішні тестувальники: твоя команда, без очікування

Внутрішні тестувальники це користувачі твого акаунта App Store Connect із призначеною роллю. [Apple дозволяє до 100 таких людей](https://developer.apple.com/help/app-store-connect/test-a-beta-version/testflight-overview), і кожен може [встановити застосунок на кілька пристроїв](https://developer.apple.com/testflight/), до 30.

Їхня головна перевага: жодної бета-перевірки. Щойно збірка закінчила обробку без автоматичної помилки на кшталт ITMS-90717, ти додаєш її у внутрішню групу, і вона доступна. Це правильна група для тебе, а також для партнера чи близької людини, яким ти даєш доступ до свого акаунта.

Їхнє обмеження: їх треба додати як користувачів твого акаунта App Store Connect. Для незнайомих людей це не підходить.

## Зовнішні тестувальники і бета-перевірка

Зовнішнім тестувальникам не потрібен жоден доступ до твого акаунта. [Можна запросити до 10 000 людей](https://developer.apple.com/help/app-store-connect/test-a-beta-version/testflight-overview), електронною поштою або за публічним посиланням. Це правильна група для друзів, перших користувачів, спільноти.

Натомість Apple перевіряє збірку, перш ніж відкрити її для них. [Коли ти додаєш першу збірку версії до зовнішньої групи](https://developer.apple.com/help/app-store-connect/test-a-beta-version/invite-external-testers), вона йде на бета-перевірку. Наступні збірки тієї ж версії не обов'язково потребують повної перевірки.

Перед цим App Store Connect попросить інформацію для тестування:

- **опис бети**, який підказує тестувальникам, на що дивитися;
- **email для відгуків**;
- **твої контакти**, щоб Apple могла з тобою зв'язатися.

> Бета-перевірка це не перевірка App Store. Збірку, прийняту в TestFlight, усе ще можуть відхилити під час публікації.

Бета-перевірка дивиться, чи збірка відповідає правилам, а фінальна перевірка ще й оцінює твою сторінку, підписки, юридичні тексти й увесь досвід користувача. Пам'ятай про типові причини відмови, описані в статті [чому Apple відхиляє застосунок](https://devoria.fr/uk/blog/vidmova-apple-app-store-prychyny).

## Запрошення тестувальників за публічним посиланням

Публічне посилання це найпростіший спосіб дати протестувати застосунок людям, яких ти ще не знаєш. Ось [інструкція Apple](https://developer.apple.com/help/app-store-connect/test-a-beta-version/invite-external-testers) з англійськими назвами елементів інтерфейсу:

1. В App Store Connect відкрий свій застосунок, потім вкладку **TestFlight**.
2. У розділі **External Testing** вибери зовнішню групу.
3. Натисни **Create Public Link**.
4. Вибери **Open to Anyone**, щоб відкрити посилання для всіх, або **Filter by Criteria**, щоб обмежити його певними пристроями й версіями iOS.
5. За бажанням задай ліміт тестувальників через **Set Limit**.

Далі ділишся посиланням де завгодно: повідомлення, соцмережа, email. Людина встановлює застосунок TestFlight, відкриває посилання й приймає запрошення.

Дві речі, які варто знати, перш ніж поширювати його широко:

- **Задай ліміт.** Якщо посилання розлетиться більше, ніж ти планував, ти збережеш контроль над кількістю тестувальників.
- **Тестувальники за публічним посиланням анонімні.** App Store Connect показує для них лише дату встановлення, сесії та збої. Якщо хочеш знати, хто що тестував, краще запрошуй через email.

## Скільки живе збірка TestFlight?

[Збірка доступна тестувальникам 90 днів](https://developer.apple.com/help/app-store-connect/test-a-beta-version/testflight-overview). Після цього вона спливає, і тестувальники вже не можуть її відкрити. Якщо бета триває довше, просто надішли нову збірку до кінця терміну.

На практиці ти надсилатимеш нові збірки значно частіше: після кожного важливого виправлення. Кожну нову збірку, додану до групи, пропонують твоїм тестувальникам, і вони отримують її в застосунку TestFlight.

## Як збирати відгуки тестувальників

У TestFlight є вбудована система відгуків: [тестувальник робить знімок екрана у твоєму застосунку, може додати позначки й надіслати тобі](https://developer.apple.com/testflight/). Якщо застосунок падає, ти отримуєш звіт про збій, а тестувальник може додати контекст. Усе це є в App Store Connect.

Це корисно, але для розуміння конкретного збою цього мало. У свої застосунки я додаю Sentry, який показує помилку з рядком коду, що її спричинив, і PostHog, який показує, де користувачі кидають застосунок. Обидва працюють і у збірці TestFlight, і в продакшені.

## Тестування підписок у TestFlight

Якщо твій застосунок продає підписку, саме в TestFlight ти перевіряєш, що вона справді працює. [Покупки у збірці TestFlight проходять через тестове середовище Apple](https://developer.apple.com/help/app-store-connect/test-a-beta-version/testing-subscriptions-and-in-app-purchases-in-testflight/): з тестувальників гроші не списуються. Поновлення прискорені: кожна підписка поновлюється раз на день, не більше шести разів за тиждень, незалежно від її реальної тривалості.

Перевір щонайменше, що ціни на екрані правильні, що покупка справді розблоковує застосунок і що кнопка відновлення знаходить підписку після перевстановлення. Я використовую RevenueCat для підписок у своїх застосунках; усе налаштування, від продуктів в App Store Connect до paywall, описане на сторінці [підписки in-app в iOS](https://devoria.fr/uk/expertise/ios-in-app-subscription).

## Що протестувати перед надсиланням в Apple

Це список, яким я користуюся перед кожним надсиланням на перевірку. Кожен пункт відповідає причині відмови або збою, якого можна уникнути.

### Перший запуск

- Видали застосунок, перевстанови його з TestFlight, відкрий. Саме так зробить рев'юер.
- Пройди онбординг повністю, нічого не пропускаючи.
- Відхили кожен дозвіл (сповіщення, камера, геолокація) і переконайся, що застосунок далі працює.

### Гроші

- Paywall показує ціни, тривалість і посилання на умови використання та політику конфіденційності.
- Покупка працює, відновлення теж.
- Усі налаштовані продукти видно рев'юеру: [guideline 2.1](https://developer.apple.com/app-store/review/guidelines/) вимагає, щоб вбудовані покупки були повними, видимими й робочими.

### Складні умови

- Режим польоту й повільна мережа: зрозуміле повідомлення, а не білий екран.
- Найменший iPhone, який ти підтримуєш, і найбільший: нічого не обрізано, нічого не закрито клавіатурою. Саме обрізаний екран на маленькому iPhone коштував мені відмови для Solys.
- Довгі тексти, якщо застосунок перекладено.

### Пакет для рев'юера

- Якщо застосунок вимагає входу, демо-акаунт у нотатках для перевірки, з увімкненим бекендом. Guideline 2.1 прямо цього вимагає.
- Нотатки для перевірки, які у двох реченнях пояснюють, що робить застосунок і де знайти головну функцію.

Якщо застосунок усе одно відхилили, сторінка [застосунок відхилено Apple](https://devoria.fr/uk/expertise/app-rejected-by-apple) пояснює, як відповісти, не втративши тиждень. А загальну картину публікації, від сторінки до релізу, дивись у статті [як опублікувати застосунок в App Store](https://devoria.fr/uk/expertise/publish-an-app-on-the-app-store).

## Таблиця приймального тестування для твоєї збірки

[Завантаж таблицю з 16 сценаріїв у форматі CSV](https://devoria.fr/ressources/recette-premiere-app-ios.csv). У ній окремо розписані підготовка, дія, очікуваний результат і зафіксований доказ. Імпортуй її в Numbers, Excel або Google Sheets, потім заповни версію, пристрій і результат кожної спроби.

Для вигаданого читацького щоденника «зберегти сторінку» не достатньо: запиши сторінку 24, повністю закрий застосунок, запусти знову й знайди це значення. Тест, який не виконали, лишається «Протестувати». Якщо у застосунку немає підписки, познач сценарії покупок як «Не застосовується» з цією причиною.

Таблиця це відправна точка, яку треба адаптувати, а не сертифікація. Там же знайдеш [нотатки для App Review та інші безкоштовні шаблони](https://devoria.fr/uk/resources), щоб пояснити рев'юеру шлях, який ти справді перевірив.

## Від TestFlight до App Store

TestFlight це етап, коли твій застосунок стає реальним: він працює на справжньому iPhone, у руках справжніх людей. У маршруті [iOS Kit](https://devoria.fr/uk/kits/ios) це другий етап: зібрати ядро застосунку й протестувати його на своєму iPhone через TestFlight, перш ніж підключати підписки й готувати публікацію.

Після TestFlight іде перевірка Apple: [Apple Review Kit](https://devoria.fr/uk/kits/review-apple) містить мій чекліст перед надсиланням і нотатки для рев'юера. На головній показано чотири етапи, щоб [створити свій мобільний застосунок](https://devoria.fr/uk) з Claude Code.

Ніхто не може гарантувати, що Apple прийме твій застосунок: рішення ухвалює Apple.

## Поширені запитання

### Як протестувати застосунок для iPhone через TestFlight?

Надішли збірку в App Store Connect, потім додай її до групи тестувальників. З Expo ти компілюєш її через EAS Build і надсилаєш через [EAS Submit](https://devoria.fr/uk/blog/eas-submit-ios-publish-expo-app-store): вона з'являється в TestFlight після обробки в Apple, зазвичай за 10-15 хвилин, за даними Expo. Тестувальники встановлюють її через застосунок TestFlight, безкоштовний в App Store. Потрібен платний акаунт Apple Developer.

### Як створити посилання TestFlight для запрошення тестувальників?

В App Store Connect відкрий вкладку TestFlight свого застосунку, вибери групу в розділі External Testing і натисни Create Public Link. Вибери Open to Anyone або Filter by Criteria, потім задай ліміт через Set Limit. Тестувальники за публічним посиланням анонімні: якщо хочеш знати, хто що тестував, краще запрошуй їх через email.

### Чи замінює бета-перевірка TestFlight перевірку App Store?

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

### Скільки тестувальників можна запросити в TestFlight?

Можна запросити до 100 внутрішніх і до 10 000 зовнішніх тестувальників. Внутрішні це учасники твого акаунта App Store Connect, без бета-перевірки, і кожен може встановити застосунок на до 30 пристроїв. Зовнішніх запрошують через email або публічне посилання, після бета-перевірки першої збірки. Кожну збірку можна тестувати 90 днів.

### Чи можна протестувати підписку в TestFlight без списання грошей?

Так, покупки у збірці TestFlight проходять через тестове середовище Apple: з тестувальників гроші не списуються. Поновлення прискорені: кожна підписка поновлюється раз на день, не більше шести разів за тиждень, незалежно від реальної тривалості. Перевір щонайменше ціни на екрані, розблокування застосунку й відновлення після перевстановлення. Повне налаштування описано на сторінці [підписки in-app в iOS](https://devoria.fr/uk/expertise/ios-in-app-subscription).

### Що перевірити в TestFlight перед надсиланням застосунку в Apple?

Перевстанови застосунок з TestFlight, як це зробить рев'юер, і пройди онбординг повністю. Відхили кожен дозвіл, протестуй покупку й відновлення, потім спробуй режим польоту, найменший і найбільший iPhone, які ти підтримуєш. Якщо застосунок вимагає входу, підготуй демо-акаунт у нотатках для перевірки, з увімкненим бекендом.


## Твій проєкт

[Apple Review Kit](https://devoria.fr/uk/kits/review-apple): Чекліст для review App Store, яким я користуюся, мої виправлені відмови Apple, нотатки для тестувальника і два skills Claude Code, що перевіряють твій застосунок. 29 €.

[iOS Kit](https://devoria.fr/uk/kits/ios): Створи застосунок для iPhone з Claude Code: стартовий код моїх застосунків, skills, що перевіряють його роботу, а також Apple Review Kit, App Store Screenshots Kit і ASO Kit. 129,99 €.
