Отказ — не конец света, но он отнимает дни, которые лучше потратить на запуск. Хорошая новость: почти каждый отказ связан с коротким списком правил, и почти все проблемы можно найти до нажатия кнопки «Отправить».
1. Правило 2.1: App Completeness
Самое частое. Проверяющий столкнулся со сбоем, нерабочей ссылкой, текстом-заглушкой или функцией, до которой не смог добраться.
- Тестируйте ровно ту сборку, которую отправляете, на реальном устройстве, а не только в симуляторе
- Уберите экраны «Скоро» и lorem ipsum
- Если приложению нужен аккаунт, дайте Apple рабочий демо-аккаунт в заметках для проверки
- Если функции зависят от оборудования, местоположения или переключателя на бэкенде, объясните, как до них добраться
2. Правило 2.3: Accurate Metadata
Скриншоты, описания и превью должны показывать настоящее приложение. Макеты ещё не существующих функций, цены на скриншотах или упоминания других платформ отмечаются.
3. Правило 4.2: Minimum Functionality
Приложения, которые являются сайтом в обёртке или предлагают слишком мало пользы, отклоняются. Нативная навигация, офлайн-состояния, push-уведомления или возможности платформы вроде виджетов показывают Apple, что приложение даёт реальную ценность.
4. Правило 4.3: Spam
Сюда относятся публикация множества почти одинаковых приложений или копирование переполненной категории без чего-то нового. Одно хорошее приложение с настройками лучше пяти клонов.
5. Правило 3.1.1: In-App Purchase
Цифровой контент и функции, открываемые внутри приложения, нужно продавать через встроенные покупки Apple. Исключение — физические товары и услуги в реальном мире. Пейволу также нужны заметная кнопка восстановления покупок и понятные условия подписки. Наше руководство по StoreKit 2 показывает клиентскую часть.
6. Правило 5.1.1: сбор и хранение данных
На конфиденциальности спотыкаются многие первые отправки:
- Ссылка на политику конфиденциальности в App Store Connect и внутри приложения
- Запросы разрешений с понятным текстом о том, зачем нужен доступ
- Запрашивайте только те данные, которые действительно нужны функции
- Удаление аккаунта: если пользователи могут создать аккаунт, они должны иметь возможность удалить его прямо в приложении
7. Манифесты конфиденциальности и обязательные причины
Приложения и их сторонние SDK должны указывать в манифесте конфиденциальности, зачем они используют определённые системные API, например чтение временных меток файлов или пользовательских настроек. Обновляйте SDK: большинство популярных теперь поставляются со своим манифестом.
8. Правило 4.8: Login Services
Если вы предлагаете вход через сторонний социальный аккаунт, Apple требует равноценный вариант с упором на конфиденциальность. Вход с Apple — самый простой способ выполнить это требование.
9. Правило 2.5: Software Requirements
Использование приватных API, загрузка исполняемого кода или сборка на устаревшем SDK приводят к отказу. Каждую весну Apple повышает минимальную версию SDK, поэтому перед отправкой собирайте в актуальном Xcode.
Наш чек-лист перед отправкой
- Чистая установка релизной сборки на реальный iPhone, все основные сценарии проверены
- Демо-аккаунт и пошаговые заметки в разделе App Review Information
- Скриншоты из настоящего приложения, без упоминания других платформ
- Открывающиеся ссылки на политику конфиденциальности и поддержку
- Метки конфиденциальности совпадают с тем, что собирают приложение и его SDK
- Пейвол показывает цену, период, условия и кнопку восстановления
- Удаление аккаунта доступно из настроек
- Тексты для каждого разрешения на каждом языке приложения
Если отказ всё же пришёл
Внимательно прочитайте сообщение: в нём указано правило и часто есть скриншот. Исправьте проблему, при необходимости ответьте в Resolution Center и отправьте заново. Если вы считаете, что проверяющий ошибся, можно подать апелляцию в App Review Board.
Запуская приложения для клиентов, мы берём на себя страницу в магазине, заметки для проверки и всю переписку с Apple. Посмотрите, сколько обычно занимает полный запуск.
Частые вопросы
Сколько длится проверка в App Store?
Большинство заявок проверяют за день-два. Новые приложения и приложения со встроенными покупками иногда чуть дольше.
Можно ли запросить ускоренную проверку?
Да. Apple предлагает ускоренную проверку для критических исправлений и событий, привязанных ко времени. Пользуйтесь этим умеренно.
Вредит ли отказ рейтингу приложения?
Нет. Отказы не публичны и не влияют на позиции в поиске. Исправьте проблему и отправьте снова.
Нужна ли политика конфиденциальности, если я не собираю данные?
Да. Каждому приложению нужна ссылка на политику конфиденциальности, даже если в ней просто сказано, что данные не собираются.