Guideline 2.1 App Store: як виправити відмову
Автор: Mehdi Azizi
Оновлено , 9 хв
Guideline 2.1 App Completeness: що охоплює правило, як Apple тестує застосунок, що відповісти рев'юеру і 3 реальні відмови на моїх застосунках.
Guideline 2.1 валить найбільше сабмітів. Apple сама пише про це на своїй сторінці App Review: у середньому понад 40 % невирішених проблем стосуються 2.1, правила про крахи, тимчасовий контент і неповну інформацію.
Ця стаття лише про це правило: що воно охоплює, його два варіанти, як рев'юер тестує твій застосунок і що йому відповісти. Плюс три відмови, які я отримав на своїх застосунках. Загальний огляд усіх причин відмов дивись у статті чому Apple відхиляє застосунок.
Що таке guideline 2.1 App Completeness?
Guideline 2.1 вимагає, щоб застосунок, надісланий в Apple, був фінальною і повною версією: без крахів, без мертвих посилань, без тимчасового тексту, з демо-акаунтом, якщо потрібен вхід, і з видимими та робочими вбудованими покупками. Якщо рев'юер не може пройти твій застосунок до кінця, це відмова за 2.1.
Офіційний текст є в App Review Guidelines, розділ 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 помилок новачка.
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 робить це вимогою для всіх застосунків, надісланих з 1 червня 2016 року. Ризик створює жорстко прописана IPv4-адреса: Apple радить тестувати в мережі лише з IPv6 з вимкненими мобільними даними.
Щоб відтворити ці умови до відправки, найпростіше використати TestFlight на кількох пристроях: дивись TestFlight: тестування застосунку для 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», а розмова з Apple ведеться в розділі App Review твого застосунку, який досі називають Resolution Center. Офіційна процедура, щоб відповісти App Review, дозволяє повідомлення до 4 000 символів з одним вкладенням.
Пиши англійською, стримано. Рев'юеру потрібні три речі: що блокувало, що змінилося, як це перевірити. Ось шаблон, яким я користуюся (заміни номер білда і виправлення на свої):
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.
Якщо причина після прочитання залишається незрозумілою, повний порядок дій є на сторінці застосунок відхилено Apple.
Нотатки для рев'ю та демо-акаунт
Розділ App Review Information твоєї версії в App Store Connect це найкращий захист від 2.1. Згідно з офіційним довідником цих полів, він містить:
- Sign-in required: логін і пароль демо-акаунта. Цей акаунт не має спливати. Якщо твій застосунок використовує сторонній вхід, надай облікові дані цього сервісу.
- Notes: до 4 000 байтів, будь-якою мовою. Усе, що допомагає тестувати.
- Contact: ім'я, e-mail і номер у міжнародному форматі.
Що я завжди пишу в нотатках:
- Шлях до кожної вбудованої покупки, як вимагає правило 2.1(b).
- Неочевидні функції: жест, дозвіл, контент, прив'язаний до часу.
- Стан демо-акаунта: з підпискою чи ні, з заповненими даними чи порожній.
- Відомі обмеження: для обладнання чи середовища, яке важко відтворити, Apple просить бути готовим надати відео.
І правило поза формою: тримай сервер увімкненим протягом усього рев'ю. Вимкнений тестовий сервер означає непрацюючий демо-акаунт, а отже відмову за 2.1.
Чекліст 2.1 перед сабмітом
Той, що я застосовую перед кожною відправкою, складений на основі моїх відмов:
- Застосунок встановлено з нуля на найменшому підтримуваному iPhone, найбільшому та iPad у режимі сумісності
- Онбординг пройдено повністю, з навмисним провалом на кожному кроці, що вимагає результату
- Кожен обов'язковий екран має вихід без умов
- Жодне виправлення для рев'ю не доставлено лише віддаленим оновленням
- Застосунок запущено в режимі польоту, потім у мережі лише з IPv6
- Кожен вказаний URL відкрито того ж дня: конфіденційність, умови, підтримка
- Жодного тимчасового тексту, порожнього екрана чи видимих тестових даних
- Демо-акаунт перевірено в день відправки, без терміну дії, сервер увімкнено
- Кожну вбудовану покупку знайдено із застосунку й протестовано в sandbox, включно з відновленням
- Нотатки для рев'ю вказують, де знайти покупки та неочевидні функції
Якщо це твоя перша публікація, усі попередні кроки є в статті опублікувати застосунок в App Store.
Надіслати свій сабміт разом із тим, хто вже отримував ці відмови
Apple Review Kit містить мій чекліст перед відправкою, шаблони нотаток для тестувальника і skills для Claude Code, які перевіряють твій проєкт перед сабмітом.
Щойно отримав відмову за 2.1? Кіт також допоможе знайти процитоване правило, зрозуміти, чого воно вимагає, і дасть приклад виправлення та відповіді. Якщо хочеш, щоб ми подивилися твій сабміт разом уже зараз, забронюй годину зі мною по відеозв'язку.
Ніхто не може гарантувати, що Apple прийме твій застосунок. Що я можу, то це допомогти тобі уникнути відмов за 2.1, за які я вже заплатив циклом рев'ю.
Ще не надіслав застосунок? Безкоштовна діагностика надішле тобі мій чекліст проти відмов Apple, включно з правилом 2.1, і скаже, що лишилося зробити перед відправкою. Якщо ти ще його створюєш, на головній показано, як створити мобільний застосунок, з думкою про рев'ю від самого початку.
Поширені запитання
Що означає «Guideline 2.1 - Information Needed»?
Рев'юер не зміг завершити перевірку і ставить тобі питання: логін, пояснення, спосіб дістатися до функції. Відповідай точно в App Store Connect. Якщо питання виявляє реальне блокування в застосунку, як у Solys, виправ його й надішли новий білд.
Чи потрібен новий білд після відмови за 2.1?
Для крашу, бага чи блокуючого екрана так: виправлення має бути в бінарнику. Віддаленого оновлення недостатньо, бо рев'юер бачить вбудований код при першому запуску. Якщо бракує лише інформації, може вистачити відповіді.
Мій застосунок вимагає входу: що надати рев'юеру?
Демо-акаунт без терміну дії, вказаний у розділі App Review Information, і сервер, увімкнений протягом усього рев'ю. Вбудований демо-режим може замінити цей акаунт лише з попередньої згоди Apple, і він має показувати всі функції.
Чи може відмова за 2.1 мати причину поза застосунком?
Так. Достатньо мертвого URL у сторінці застосунку, простроченого демо-акаунта, вимкненого сервера або неправильно налаштованої вбудованої покупки. А іноді, як із Clic, справжня причина онлайн, а не в коді: перевіряй усе, що рев'юер може відкрити.