Почему ваше приложение могут не принять в App Store? Мифы и реальность

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

ico

Топ-10 причин отказа в публикации iOS-приложения в App Store по версии разработчиков: правда и мифы:

  1. Приложение требует email для аутентификации.

    Согласно пункту 17.2 Apple Review Guidelines (далее — ARG), нельзя использовать персональные данные (email, дату рождения и т.д.) при доступе к неперсональному контенту. То есть, если приложение (например, интернет-магазин) содержит какой-то неперсональный контент, то должен быть предусмотрен режим работы без аутентификации или с аутентификацией с помощью абстрактного логина.

    Вывод: правда.

  2. Приложение дублирует функциональность другого приложения, уже представленного в App Store

    Пункт 2.11 ARG утверждает, что приложения с дублирующей функциональностью могут быть отклонены. Желательно отличаться от уже представленных в App Store приложений дизайном, интерфейсом и/или быстродействием. Это не только позволит избежать отказа, но и обеспечит продаваемость и популярность.

    Вывод: миф.

    App Store полон «клонов», особенно в популярных и простых направлениях, таких как будильник или калькулятор.

  3. Приложение использует многозадачность

    Без многозадачности сложно написать даже достаточно простое приложение, так как любое взаимодействие с данными – локальными или внешними — необходимо делать в отдельном потоке, чтобы не заставлять графический (пользовательский) поток ждать.

    Вывод: миф.

    Ограничений на использование многозадачности в ARG нет.

  4. Приложение неправильно использует многозадачность

    Согласно пункту 2.16 ARG, в дополнительном потоке можно выполнять только задачи, связанные с VoIP, воспроизведением аудио, сервисами местоположения, заканчивать текущие задачи и выводить локальные уведомления. Если ваше приложение делает что-то другое или слишком затягивает с окончанием текущих задач, то с большой вероятностью будет отклонено для доработки и устранения ошибок.

    Вывод: правда.

  5. Названия функций в вашем приложении совпадают с системными названиями

    Суть проблемы уходит корнями в технологические аспекты. Дело в том, что в Objective-C нет понятия пространства имен (namespaces), поэтому функции с одинаковыми именами просто не допустимы. Хорошей практикой для избегания таких проблем является добавление префикса, например «ConnectWithOptions» назвать «PrlConnectWithOptions».

    Вывод: правда.

  6. Приложение содержит контент эротического характера

    Согласно пункту 18.1 ARG, в приложениях нельзя использовать содержимое порнографического характера в понимании словаря Вебстера:

    «Крайне натуралистическое изображение половых органов и отношений с целью эротического, нежели эмоционального или эстетического наслаждения»

    на эротический контент серьезных ограничений не накладывается.

    Вывод: миф.

    В App Store можно найти многочисленные версии «Камасутры» и известные эротические журналы, например Playboy.

  7. Приложение использует In-App Purchase как единственный способ оплаты

    Пункт 11.2 ARG настоятельно рекомендует использовать In-App Purchase (далее — iAP) для оплаты контента и сервисов внутри приложения. Но значит ли это, что данное утверждение — миф? Не совсем, потому что пункт 11.3 ARG запрещает использование iAP для покупок обычных, «оффлайновых» товаров (футболку, игрушку, сувенир и т.д.) и сервисов вне приложений.

    В общем случае, нельзя обойтись только iAP.

    Вывод: правда.

  8. Приложение имеет триальный период

    Согласно пункту 2.9 ARG «триал», «бета», «демо» и «тестовые» версии являются основанием для отклонения приложения. Самый распространенный способ дать пользователям бесплатную возможность попробовать ваше приложение – выпуск версий «Lite» или «Free», которые имеют ограниченную функциональность, но распространяются бесплатно и позволяют оценить уровень вашего приложения.

    Вывод: правда.

  9. Приложение создает/вносит изменения в файлы

    Согласно пункту 2.6 ARG, приложение будет отклонено, если оно записывает информацию вне выделенного контейнера. Вместе с тем, внутри выделенного для приложения sandbox’а можно работать с файлами довольно свободно. У некоторых папок в «песочнице» есть специальное назначение. Например, каталог «~/Documents» предназначен для хранения файлов, которые синхронизируются с iCloud.

    Вывод: миф.

    Приложения могут создавать свои файлы и записывать их, а также потом вносить в них изменения.

  10. Приложение содержит или цитирует религиозные тексты

    Согласно пункту 19.2 ARG, в приложениях допустимо использовать религиозные тексты в изначальной трактовке, без изменений с целью манипуляции мнением.

    Вывод: миф.

    Вопрос не в совпадении текстов, а в контексте их использования. Они должны преследовать обучающую или информационную цель, а не провоцировать агрессию.

Ну и в заключение – небольшой опрос. Пожалуйста, напишите в комментариях, во власти каких мифов про App Store находились вы?