Чому ваш додаток можуть не прийняти в 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'a. У деяких папок у «пісочниці» є спеціальне призначення. Наприклад, каталог «ауд/Documents» призначено для зберігання файлів, які синхронізуються з iCloud.
Вивід: міф.
Програми можуть створювати свої файли і записувати їх, а також потім вносити в них зміни.
- Додаток містить або цитує релігійні тексти
Згідно з пунктом 19.2 ARG, у додатках допустимо використовувати релігійні тексти в початковому трактуванні, без змін з метою маніпуляції думкою.
Вивід: міф.
Питання не в збігу текстів, а в контексті їх використання. Вони повинні переслідувати навчальну або інформаційну мету, а не провокувати агресію.
Ну і насамкінець - невелике опитування. Будь ласка, напишіть в коментарях, у владі яких міфів про App Store знаходилися ви?