# Guideline 2.1: как понять и исправить отказ App Store

> Guideline 2.1 App Completeness: что покрывает правило, как Apple тестирует приложение, что ответить ревьюеру и 3 реальных отказа моих приложений.

Оригинальная страница: [Guideline 2.1: как понять и исправить отказ App Store](https://devoria.fr/ru/blog/guideline-2-1-app-store-otkaz)
Автор: [Mehdi Azizi](https://devoria.fr/ru/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/ru/blog/otkaz-apple-app-store-prichiny).

## Что такое 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/ru/blog/ios-paywall-oshibki-novichka).

## 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/ru/blog/testflight-testirovanie-iphone-prilozheniya).

## Три отказа, которые я получил, и их настоящая причина

Три недавних отказа на моих собственных приложениях, с их настоящей причиной.

### 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 отклонили. Само приложение было актуальным. Настоящая причина была в другом: опубликованная политика конфиденциальности не была обновлена насчёт используемого ИИ-провайдера. Этот отказ скорее про конфиденциальность, чем про 2.1, но иллюстрирует то же самое: настоящие причины не всегда те, на которые намекает сообщение.

**Урок**: проверяй то, что лежит онлайн, а не то, что в твоём репозитории. Открой каждый указанный URL в день отправки.

## Что ответить в Resolution Center

После отказа твоя заявка переходит в статус [«Unresolved Issues»](https://devoria.fr/ru/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/ru/blog/sroki-proverki-app-store-skolko-zhdat).

Если после прочтения причина всё ещё непонятна, полный порядок действий описан на странице [приложение отклонено Apple](https://devoria.fr/ru/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/ru/expertise/publish-app-on-app-store).

## Отправь заявку вместе с тем, кто уже получал эти отказы

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

Только что получил отказ по 2.1? Кит также поможет найти указанное правило, понять, что оно требует, и даст пример исправления и ответа. Если хочешь разобрать твою заявку вместе прямо сейчас, [забронируй час со мной](https://devoria.fr/ru/coaching) по видеосвязи.

Никто не может гарантировать, что Apple примет твоё приложение. Что я могу, так это помочь тебе избежать отказов по 2.1, за которые я уже заплатил циклом ревью.

Ещё не отправил приложение? [Бесплатная диагностика](https://devoria.fr/ru/diagnostic) пришлёт тебе мой чеклист против отказов Apple, включая правило 2.1, и скажет, что осталось сделать до отправки. Если ты ещё на этапе разработки, на главной показано, как [создать мобильное приложение](https://devoria.fr/ru), с самого начала думая о ревью.

## Частые вопросы

### Что значит «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/ru/kits/review-apple): Мой чек-лист для ревью App Store, исправленные отказы Apple, заметки для ревьюера и два skills для Claude Code, которые проверяют твоё приложение. 29 €.

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