Почему ваше приложение могут не принять в App Store? Мифы и реальность
Все знают, что приложения перед публикацией в App Store проходят строгую проверку в Apple. Тема отказов публикации в App Store уже давно обросла легендами, среди которых могут затеряться истинные причины «реджектов». Давайте разберемся, что из требований магазина действительно жестко соблюдается, а на что Apple закрывает глаза. Мы в Parallels сталкивались с этой проверкой, когда разрабатывали Parallels Mobile и Parallels Transporter. Так что с удовольствием поделимся выводами о мифах и реальностях фирменного «эппловского» гайдлайна.

Топ-10 причин отказа в публикации iOS-приложения в App Store по версии разработчиков: правда и мифы:
-
Приложение требует email для аутентификации.
Согласно пункту 17.2 Apple Review Guidelines (далее — ARG), нельзя использовать персональные данные (email, дату рождения и т.д.) при доступе к неперсональному контенту. То есть, если приложение (например, интернет-магазин) содержит какой-то неперсональный контент, то должен быть предусмотрен режим работы без аутентификации или с аутентификацией с помощью абстрактного логина.
Вывод: правда.
-
Приложение дублирует функциональность другого приложения, уже представленного в App Store
Пункт 2.11 ARG утверждает, что приложения с дублирующей функциональностью могут быть отклонены. Желательно отличаться от уже представленных в App Store приложений дизайном, интерфейсом и/или быстродействием. Это не только позволит избежать отказа, но и обеспечит продаваемость и популярность.
Вывод: миф.
App Store полон «клонов», особенно в популярных и простых направлениях, таких как будильник или калькулятор.
-
Приложение использует многозадачность
Без многозадачности сложно написать даже достаточно простое приложение, так как любое взаимодействие с данными – локальными или внешними — необходимо делать в отдельном потоке, чтобы не заставлять графический (пользовательский) поток ждать.
Вывод: миф.
Ограничений на использование многозадачности в ARG нет.
-
Приложение неправильно использует многозадачность
Согласно пункту 2.16 ARG, в дополнительном потоке можно выполнять только задачи, связанные с VoIP, воспроизведением аудио, сервисами местоположения, заканчивать текущие задачи и выводить локальные уведомления. Если ваше приложение делает что-то другое или слишком затягивает с окончанием текущих задач, то с большой вероятностью будет отклонено для доработки и устранения ошибок.
Вывод: правда.
-
Названия функций в вашем приложении совпадают с системными названиями
Суть проблемы уходит корнями в технологические аспекты. Дело в том, что в Objective-C нет понятия пространства имен (namespaces), поэтому функции с одинаковыми именами просто не допустимы. Хорошей практикой для избегания таких проблем является добавление префикса, например «ConnectWithOptions» назвать «PrlConnectWithOptions».
Вывод: правда.
-
Приложение содержит контент эротического характера
Согласно пункту 18.1 ARG, в приложениях нельзя использовать содержимое порнографического характера в понимании словаря Вебстера:
«Крайне натуралистическое изображение половых органов и отношений с целью эротического, нежели эмоционального или эстетического наслаждения»
на эротический контент серьезных ограничений не накладывается.
Вывод: миф.
В App Store можно найти многочисленные версии «Камасутры» и известные эротические журналы, например Playboy.
-
Приложение использует In-App Purchase как единственный способ оплаты
Пункт 11.2 ARG настоятельно рекомендует использовать In-App Purchase (далее — iAP) для оплаты контента и сервисов внутри приложения. Но значит ли это, что данное утверждение — миф? Не совсем, потому что пункт 11.3 ARG запрещает использование iAP для покупок обычных, «оффлайновых» товаров (футболку, игрушку, сувенир и т.д.) и сервисов вне приложений.
В общем случае, нельзя обойтись только iAP.
Вывод: правда.
-
Приложение имеет триальный период
Согласно пункту 2.9 ARG «триал», «бета», «демо» и «тестовые» версии являются основанием для отклонения приложения. Самый распространенный способ дать пользователям бесплатную возможность попробовать ваше приложение – выпуск версий «Lite» или «Free», которые имеют ограниченную функциональность, но распространяются бесплатно и позволяют оценить уровень вашего приложения.
Вывод: правда.
-
Приложение создает/вносит изменения в файлы
Согласно пункту 2.6 ARG, приложение будет отклонено, если оно записывает информацию вне выделенного контейнера. Вместе с тем, внутри выделенного для приложения sandbox’а можно работать с файлами довольно свободно. У некоторых папок в «песочнице» есть специальное назначение. Например, каталог «~/Documents» предназначен для хранения файлов, которые синхронизируются с iCloud.
Вывод: миф.
Приложения могут создавать свои файлы и записывать их, а также потом вносить в них изменения.
-
Приложение содержит или цитирует религиозные тексты
Согласно пункту 19.2 ARG, в приложениях допустимо использовать религиозные тексты в изначальной трактовке, без изменений с целью манипуляции мнением.
Вывод: миф.
Вопрос не в совпадении текстов, а в контексте их использования. Они должны преследовать обучающую или информационную цель, а не провоцировать агрессию.
Ну и в заключение – небольшой опрос. Пожалуйста, напишите в комментариях, во власти каких мифов про App Store находились вы?
