Ответ 1
Вот возможные причины (неофициальный, отсюда):
-
Вибрация. Не разрешается использовать непрерывную вибрацию в ваших приложениях - короткие всплески, поскольку предупреждения разрешены. Не пытайтесь настроить таймер, чтобы сохранить вибрацию, это приведет к отклонению вашего приложения.
-
Ссылка на частные рамки. Это очевидно, но как-то в игре с вещами, которые мы связали с MoviePlayer.framework. Это не-нет, и стоило нам около десяти дней, пока мы отменили эту структуру, перекомпилировали, а затем повторно отправили.
-
Неправильная обработка редактирования в ячейках tableview. Также очевидно, но имейте в виду, что если вы включите редактирование ячейки таблицы, вам придется вручную указать, какие ячейки должны реагировать на элементы управления редактированием, а какие нет. У нас были некоторые случайные ячейки prefs в одном из наших ранних приложений, которые можно было пронести, чтобы вывести значок "удалить". Конечно, он ничего не делал, но Apple справедливо считала этот плохой дизайн и отклоняла наше приложение.
-
Иконки. Убедитесь, что значок 57 пикселей идентичен 512-пиксельной версии. Кроме того, используйте другой значок, если вы создаете "lite" и "pro" версии вашего приложения (т.е. Бесплатно и оплачиваете). Использование того же значка для обоих отправляет ваше приложение прямо... вы догадались... bin.
-
Копирование существующей функциональности. Это гораздо более тонкое и коварное, и, вероятно, повлияло на большой процент разработчиков. В дополнение к широко распространенному анонсу Podcaster отчеты из комментариев пользователей показывают, что Apple использует широкую сеть при поиске дублированных функций. Мини-браузеры или приложения, которые по существу показывают веб-страницы, кажутся особенно уязвимыми, даже если они добавляют новые и/или полезные функции. Держитесь подальше от почтовых клиентов.
-
Использование соответствующего типа клавиатуры. Если ваше приложение запрашивает номер телефона или другой номер только для ввода, и вы представляете клавиатуру, которая также включает возможность ввода стандартного буквенно-цифрового ввода... yep. (Спасибо Jeremy1026)
-
Номера версий. Если ваше приложение в настоящее время находится в версии 0.99 или ниже, вам следует подумать о том, чтобы дать ему поощрение, поскольку Apple, похоже, предпочитает 1.0 и выше. Один из наших был недавно отклонен за то, что он был .016, с сообщением о том, что наш номер версии не был даже числовым. Когда мы повторно отправили одно и то же приложение с нуля в версию 1.0, оно прошло.
-
Доступность сети. Если вашему приложению требуется какой-либо доступ к сети, вам необходимо убедиться, что он работает, когда этот доступ недоступен. Если это не так, оно будет отклонено. Apple предоставляет пример кода для проверки этого, который вы можете использовать как-в большинстве случаев: https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html
И последнее, но не менее важное:
- Плоскость Не пытайтесь.;-) UPDATE: извините, похоже, это уже устарело. Apple теперь зарабатывает много денег с "первыми приложениями": см. Эту статью.
Edit:
Вот ссылка на недавнюю статью о десять приложений для iPhone, которые не сделали Apple App Store.
И совет: у Apple есть приложение Mac под названием Application Loader, которое вы можете установить. После его установки он анализирует ваш zip файл приложения. Он проверяет правильность всех сертификатов, значков и других вещей перед отправкой в Apple. Использование Application Loader минимизирует ваши шансы отклонения приложения.
Еще один интересный ресурс: Круглый стол App Store: прозрачность и система одобрения (appleblog.com)
Еще одно редактирование:
Новые правила к февралю 2010 года: "Нет купальников, нет кожи и нет Innuendo" (источник: статья TechCrunch, W обходный блог автора)
Кстати: во время предварительного просмотра iPhone 3.0 (март 2009 г.) представитель Apple сообщил, что 96% всех поданных заявок были одобрены.