# Guideline 2.1 App Store: як виправити відмову

> Guideline 2.1 App Completeness: що охоплює правило, як Apple тестує застосунок, що відповісти рев'юеру і 3 реальні відмови на моїх застосунках.

Оригінальна сторінка: [Guideline 2.1 App Store: як виправити відмову](https://devoria.fr/uk/blog/guideline-2-1-app-store-vidmova)
Автор: [Mehdi Azizi](https://devoria.fr/uk/mehdi-azizi)
Опубліковано: 2026-09-23
Останнє оновлення змісту: 2026-10-09


Guideline 2.1 валить найбільше сабмітів. Apple сама пише про це на своїй [сторінці App Review](https://developer.apple.com/distribute/app-review/): у середньому понад 40 % невирішених проблем стосуються 2.1, правила про крахи, тимчасовий контент і неповну інформацію.

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

## Що таке guideline 2.1 App Completeness?

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

Офіційний текст є в [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#2.1), розділ 2 «Performance». Він ділиться на два пункти.

**2.1(a)** вимагає, щоб кожен сабміт був фінальною версією з усіма метаданими та робочими URL. Тимчасовий текст, порожні сайти й будь-який тимчасовий контент мають зникнути до відправки. Застосунок треба протестувати на реальному пристрої на баги та стабільність. Якщо він вимагає входу, ти надаєш демо-акаунт і тримаєш сервер увімкненим. Вбудований демо-режим може замінити цей акаунт, але лише з попередньої згоди Apple, і він має показувати всі функції застосунку. Фраза, що все підсумовує: «We will reject incomplete app bundles and binaries that crash».

**2.1(b)** стосується вбудованих покупок: вони мають бути повними, актуальними, видимими для рев'юера і робочими. Якщо покупку, налаштовану в App Store Connect, не можна знайти в застосунку, поясни чому в нотатках для рев'ю.

## Що guideline 2.1 охоплює на практиці

На практиці відмова за 2.1 приходить з однієї з таких причин:

- **Краш.** Під час запуску, після відхиленого дозволу, без мережі. Вистачить одного.
- **Мертве посилання.** Конфіденційність, умови використання, підтримка: кожен вказаний URL відкриють.
- **Недоступна функція.** Кнопка, що нікуди не веде, обов'язковий екран, який неможливо пройти, онбординг без виходу. Найпідступніший варіант: на твоєму телефоні цього не видно.
- **Відсутній або прострочений демо-акаунт.** Рев'юер застрягає на екрані входу, або наданий акаунт уже не працює, або сервер вимкнено.
- **Контент-заповнювач.** Lorem ipsum, «Незабаром», порожній екран, видимі тестові дані.
- **Вбудовані покупки, яких не знайти.** Підписка є в App Store Connect, але рев'юер не знаходить екран, який її продає, або покупка не проходить у sandbox. Найпоширеніші помилки екрана оплати описані в [paywall iOS: 7 помилок новачка](https://devoria.fr/uk/blog/paywall-ios-7-pomylok-novachka).

## 2.1 Information Needed чи 2.1(a): у чому різниця?

Повідомлення Apple мають різні заголовки, і від цього залежить твоя відповідь.

**«Guideline 2.1 - Information Needed»** означає, що рев'юер не зміг завершити перевірку і ставить тобі питання. Бракує логіна, пояснення, способу дістатися до функції. Це ще не констатація бага, а запит. Іноді достатньо точної відповіді в App Store Connect. Але якщо питання виявляє реальне блокування в застосунку, потрібен новий білд.

**«Guideline 2.1(a) - Performance - App Completeness»** означає, що рев'юер побачив проблему: краш, баг, екран, що не реагує. У повідомленні зазвичай вказано пристрій, і часто додано скриншот. Тут треба виправити, надіслати білд, а потім відповісти.

## Як Apple тестує твій застосунок

Постав себе на місце рев'юера. Важливі три речі.

**Він тестує на пристрої, якого в тебе, можливо, немає.** У повідомленні про відмову часто вказана модель. Правило 2.4.1 каже, що застосунки для iPhone мають за можливості працювати на iPad, і застосунок, створений для iPhone, відображається там у режимі сумісності, у вікні формату iPhone. Мої недавні відмови за 2.1 прийшли з iPad Air: якщо тестуєш лише на своєму iPhone, ти не бачиш того, що бачить рев'юер.

**Він починає з першого запуску.** Свіжий застосунок, жодного кешу, жодної сесії, жодного завантаженого оновлення.

**Мережа має працювати лише на IPv6.** Правило 2.5.5, сусіднє з guideline 2.5.4 про фонові режими, вимагає, щоб застосунок повноцінно працював у мережі лише з IPv6, а [сторінка підтримки Apple про IPv6](https://developer.apple.com/support/ipv6/) робить це вимогою для всіх застосунків, надісланих з 1 червня 2016 року. Ризик створює жорстко прописана IPv4-адреса: Apple радить тестувати в мережі лише з IPv6 з вимкненими мобільними даними.

Щоб відтворити ці умови до відправки, найпростіше використати TestFlight на кількох пристроях: дивись [TestFlight: тестування застосунку для iPhone](https://devoria.fr/uk/blog/testflight-testuvannya-zastosunku-iphone).

## Три відмови, які я отримав, і їхня справжня причина

Три недавні відмови на моїх власних застосунках, з їхньою справжньою причиною.

### Solys: демо міні-гри, яку неможливо виграти на iPad

Solys це мій будильник з міні-іграми. 18 серпня 2026 року білд відхилили з «2.1 Information Needed»: Apple просить спосіб пройти ігрову місію. Рев'юер тестував на iPad Air, з iPhone-застосунком у режимі сумісності.

Справжня причина була в демо міні-гри в онбордингу. Висоти перешкод були задані фіксованими поінтами. При доступній висоті картки на iPad у режимі сумісності прохід ставав вужчим за персонажа: демо неможливо було виграти. А кнопка «Продовжити» активувалася лише після перемоги. Жодного виходу: рев'юер не міг побачити застосунок.

**Виправлення**: геометрія, пропорційна виміряному розміру картки, і посилання «Пропустити демо», яке з'являється після поразки.

**Урок**: будь-який крок, заблокований результатом гри, має мати вихід без умов. І кожен обов'язковий екран тестується на найменшому підтримуваному екрані ТА на iPad у режимі сумісності.

### Nolera: виправлення, невидиме для рев'юера

17 вересня 2026 року Nolera відхилили після перевірки на iPad Air. Повідомлення поєднувало 2.1(a) з іншими пунктами. Виправлення вказаної проблеми я доставив через віддалене оновлення (OTA), без нового білда.

Проблема: під час найпершого запуску рев'юер бачить код, вбудований у білд, а не оновлення, завантажене потім. Для нього виправлення не існувало.

**Урок**: виправлення для рев'ю має бути в бінарнику, надісланому в Apple.

### Clic: причина була не в застосунку

16 вересня 2026 року Clic відхилили. Сам застосунок був актуальним. Справжня причина була деінде: опублікована онлайн політика конфіденційності не була оновлена щодо використовуваного AI-провайдера. Ця відмова радше про конфіденційність, ніж про 2.1, але ілюструє те саме: справжні причини не завжди ті, на які натякає повідомлення.

**Урок**: перевіряй те, що опубліковано онлайн, а не те, що в репозиторії. Відкривай кожен вказаний URL у день відправки.

## Що відповісти в Resolution Center

Після відмови твій сабміт переходить у статус [«Unresolved Issues»](https://devoria.fr/uk/blog/waiting-for-review-app-store-connect-statuses), а розмова з Apple ведеться в розділі App Review твого застосунку, який досі називають Resolution Center. Офіційна процедура, щоб [відповісти App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/), дозволяє повідомлення до 4 000 символів з одним вкладенням.

Пиши англійською, стримано. Рев'юеру потрібні три речі: що блокувало, що змінилося, як це перевірити. Ось шаблон, яким я користуюся (заміни номер білда і виправлення на свої):

```text
Hello,

Thank you for your review.

Issue: the onboarding game demo could not be completed on iPad
(iPhone app running in compatibility mode), so the user could
not continue.

Fix in build 1.0.3 (42):
- The game layout now scales to the measured screen size.
- A "Skip demo" link appears after a failed attempt, so the
  onboarding can always be completed.

How to verify: launch the app, start the onboarding demo,
lose once, then tap "Skip demo".

A screen recording is attached.

Best regards,
```

Кілька правил:

- **Відповідай на поставлене питання.** На «Information Needed» починай з точної відповіді, а не з контексту.
- **Назви білд і дай шлях** до виправленого екрана, у три-чотири дії.
- **Додай доказ.** Коротке відео на пристрої, схожому на пристрій рев'юера, позбавляє ще одного кола.
- **Без виправдань.** Апеляція до App Review Board існує, але при заслуженій відмові за 2.1 вона лише подовжує очікування. Деталі про терміни в статті [термін перевірки App Store](https://devoria.fr/uk/blog/skilky-tryvaie-perevirka-app-store-app-review).

Якщо причина після прочитання залишається незрозумілою, повний порядок дій є на сторінці [застосунок відхилено Apple](https://devoria.fr/uk/expertise/app-rejected-by-apple).

## Нотатки для рев'ю та демо-акаунт

Розділ App Review Information твоєї версії в App Store Connect це найкращий захист від 2.1. Згідно з [офіційним довідником цих полів](https://developer.apple.com/help/app-store-connect/reference/app-review-information/), він містить:

- **Sign-in required**: логін і пароль демо-акаунта. Цей акаунт не має спливати. Якщо твій застосунок використовує сторонній вхід, надай облікові дані цього сервісу.
- **Notes**: до 4 000 байтів, будь-якою мовою. Усе, що допомагає тестувати.
- **Contact**: ім'я, e-mail і номер у міжнародному форматі.

Що я завжди пишу в нотатках:

1. **Шлях до кожної вбудованої покупки**, як вимагає правило 2.1(b).
2. **Неочевидні функції**: жест, дозвіл, контент, прив'язаний до часу.
3. **Стан демо-акаунта**: з підпискою чи ні, з заповненими даними чи порожній.
4. **Відомі обмеження**: для обладнання чи середовища, яке важко відтворити, Apple просить бути готовим надати відео.

І правило поза формою: **тримай сервер увімкненим протягом усього рев'ю.** Вимкнений тестовий сервер означає непрацюючий демо-акаунт, а отже відмову за 2.1.

## Чекліст 2.1 перед сабмітом

Той, що я застосовую перед кожною відправкою, складений на основі моїх відмов:

- Застосунок встановлено з нуля на найменшому підтримуваному iPhone, найбільшому та iPad у режимі сумісності
- Онбординг пройдено повністю, з навмисним провалом на кожному кроці, що вимагає результату
- Кожен обов'язковий екран має вихід без умов
- Жодне виправлення для рев'ю не доставлено лише віддаленим оновленням
- Застосунок запущено в режимі польоту, потім у мережі лише з IPv6
- Кожен вказаний URL відкрито того ж дня: конфіденційність, умови, підтримка
- Жодного тимчасового тексту, порожнього екрана чи видимих тестових даних
- Демо-акаунт перевірено в день відправки, без терміну дії, сервер увімкнено
- Кожну вбудовану покупку знайдено із застосунку й протестовано в sandbox, включно з відновленням
- Нотатки для рев'ю вказують, де знайти покупки та неочевидні функції

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

## Надіслати свій сабміт разом із тим, хто вже отримував ці відмови

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

Щойно отримав відмову за 2.1? Кіт також допоможе знайти процитоване правило, зрозуміти, чого воно вимагає, і дасть приклад виправлення та відповіді. Якщо хочеш, щоб ми подивилися твій сабміт разом уже зараз, [забронюй годину зі мною](https://devoria.fr/uk/coaching) по відеозв'язку.

Ніхто не може гарантувати, що Apple прийме твій застосунок. Що я можу, то це допомогти тобі уникнути відмов за 2.1, за які я вже заплатив циклом рев'ю.

Ще не надіслав застосунок? [Безкоштовна діагностика](https://devoria.fr/uk/diagnostic) надішле тобі мій чекліст проти відмов Apple, включно з правилом 2.1, і скаже, що лишилося зробити перед відправкою. Якщо ти ще його створюєш, на головній показано, як [створити мобільний застосунок](https://devoria.fr/uk), з думкою про рев'ю від самого початку.

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

### Що означає «Guideline 2.1 - Information Needed»?

Рев'юер не зміг завершити перевірку і ставить тобі питання: логін, пояснення, спосіб дістатися до функції. Відповідай точно в App Store Connect. Якщо питання виявляє реальне блокування в застосунку, як у Solys, виправ його й надішли новий білд.

### Чи потрібен новий білд після відмови за 2.1?

Для крашу, бага чи блокуючого екрана так: виправлення має бути в бінарнику. Віддаленого оновлення недостатньо, бо рев'юер бачить вбудований код при першому запуску. Якщо бракує лише інформації, може вистачити відповіді.

### Мій застосунок вимагає входу: що надати рев'юеру?

Демо-акаунт без терміну дії, вказаний у розділі App Review Information, і сервер, увімкнений протягом усього рев'ю. Вбудований демо-режим може замінити цей акаунт лише з попередньої згоди Apple, і він має показувати всі функції.

### Чи може відмова за 2.1 мати причину поза застосунком?

Так. Достатньо мертвого URL у сторінці застосунку, простроченого демо-акаунта, вимкненого сервера або неправильно налаштованої вбудованої покупки. А іноді, як із Clic, справжня причина онлайн, а не в коді: перевіряй усе, що рев'юер може відкрити.


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

[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 €.
