Проверка приложения в AppStore

Мы ежемесячно публикуем достаточно большой объем мобильных приложений, делюсь опытом и нюансами этого процесса.

В закладки

Личный кабинет в приложении

Если в вашем приложении есть разделы в которые нельзя попасть без регистрации, обязательно заведите пользователя для проверки. Сотрудники Apple не будут регистрироваться в вашем приложении и указывать свой e-mail или телефон. Логин и пароль необходимо указать в соответствующем разделе описания приложения в iTunnesConnect.

Если у Apple возникли вопросы

Если вы не владеете английским, воспользуйтесь Яндекс переводчиком. Важно писать сухо и по делу, простыми словами, т.к. английский язык более деловой и эмоции в переводе будут нести не тот смысл. Для более точного и понятного перевода с русского переведите на английский, а затем проверьте как будет выглядеть этот перевод обратно на русский, часто смысл немного меняется, от этого Apple будет задавать еще более непредсказуемые вопросы. Корректируйте несколько раз, чтобы перевод того что вы собираетесь отправлять на русский, звучал однозначно понятно. Ниже на фото пример как перевод может быть искажен.

Переводим с русского на английский разъяснения для Apple
И для проверки переводим в обратную сторону

Прием оплаты в приложении

Прием оплаты для Apple всегда спорный момент, если вы не интегрировали оплаты с помощью их инструментов. Само собой они хотят получать 30% со всех платежей, что вполне закономерно. Важно в поле для сопроводительного комментария в самом низу заранее объяснить с помощью чего вы принимаете средства и самое важное на что эти деньги пойдут. Если это оплата виртуальных услуг, вроде поднятия объявления в списке выдачи, то Apple не пропустит сторонний прием оплаты. Чтобы не заниматься спорами, скройте все что связано с оплатой для тестового пользователя, с которым Apple будет проверять приложение.

Ссылка на группу ВКонтакте

Часто Apple придирается к ссылке на группу ВКонтакте, так как дальше можно перейти и в другие группы и внезапно наткнуться на запрещенный контент или свободно распространяемые фильмы или музыку. Если очень хочется оставить, спрячьте ее для тестового пользователя.

Не уникальное приложение, шаблоны

Так как мы занимаемся запуском приложений на базе коробочного решения бывают претензии что это копия одного из уже опубликованных нами. В первую очередь мы публикуем приложение под аккаунтом клиента, по другому нельзя. Ну и само собой у приложения должна быть уникальность, которую мы и доносим до проверяющего. Это либо территориальная особенность, либо набор услуг уникальный для данного сервиса. Важно это подать все так же сухо и однозначно.

Сайт обернутый в приложение

Мы занимаемся гибридными приложениями, т.е. внутри него по сути браузер, который отображает мобильную версию сайта. По этой причине Apple еще не разу за 6 лет не придиралась к нам, но систематически вижу такие обращения на фрилансе, поэтому раскрою подробнее.

Самый часто встречаемая ситуация когда в webView просто отображается мобильный сайт. Apple не любит такие приложения, т.к. ими пользоваться просто не удобно, они являются вариантом спама, которые подвергаются блокировке. Мобильное приложение должно расширять пользовательский опыт при работе с приложением, а не просто быть мобильным сайтом. Добавьте в приложение, например, нативное левое меню. Запретите стандартное всплывающее меню при удержании на странице, которое предлагает выделить и скопировать текст, как это обычно работает на веб сайте. Реализуйте нативные переходы между экранами, как это принято в нативных приложениях. Вместо ссылок должны быть кнопки, а вместо страниц экраны и все получится.

Вместо итогов

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

Если у вас есть трудности с прохождением проверки в Apple пишите в комментариях, разберем вашу ситуацию. Так же приветствую идей на будущую статью.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Евгений Малаховский", "author_type": "self", "tags": [], "comments": 5, "likes": 16, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 37164, "is_wide": false }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15388' + '59599') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 37164, "author_id": 53577, "diff_limit": 1000, "urls": {"diff":"\/comments\/37164\/get","add":"\/comments\/37164\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/37164"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

5 комментариев 5 комм.

Популярные

По порядку

0

спс за статью, недавно были противоречивые слухи что эппл собирается запретить webview кросс приложения в сторе, есть у вас какая-то инфа на этот счет?

Ответить
1

Алексей слухи ходят, но как и написал в статье они блокируют только ленивых, ну где совсем просто мобильный сайт.

Если бы Apple была намерена отказаться от webView, то выпилили ее как компонент из инструментов разработчика, но это маловероятно.

Ответить
0

А можешь скинуть пару ваших webview аппов, которые пропускают эппл? Спасибо

Ответить
0

промахнулся, в отдельную ветку ответ ушел

Ответить

Комментарий удален

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления