Как распространять iOS-приложение напрямую клиентам в обход App Store

Как распространять iOS-приложение напрямую клиентам в обход App Store

Добрый день! Я занимаюсь разработкой приложения, которое необходимо, ввиду его специфичности и сроков Review в iTunes Connect, распространять напрямую клиентам. На данный момент имеется Apple Developer Program.

Сначала подумал про Ad Hoc — но там при составлении Provisioning profile необходимо указать устройства, на которые потом это приложение встанет. Уже крайне неудобно — я не могу взять устройства клиентов и поочередно их регистрировать в Member Center. Там еще написано, что количество устройств ограничено: «Create a distribution provisioning profile to install your app on a limited number of registered devices», «Select the devices you wish to include in this provisioning profile. To install an app signed with this profile on a device, the device must be included».

Еще есть Enterprise Program. Цена не пугает, пугают отзывы, что таким образом можно распространять приложения только внутри организации (как определяется причастность устройства к организации, не знаю), и при распространении на «кого попало» может обернуться отзывом лицензии.

Пишут и про TestFlight.

Пишут много, но не знаю, что выбрать, да и не знаю, подходит ли мне хоть что-то.

Мне необходимо распространять приложения раз в 2–3 месяца человек на 80–100 (каждый раз пользователи новые). Также хотелось бы не напрягать пользователей скачиванием сторонних программ, регистрацией своих устройств и прочим.

Если все же идеальных вариантов для решения данной проблемы нет, то может кто поделится опытом публикации в App Store частных приложений? Заказчики не хотят, чтобы их приложения скачивали простые зеваки — я думал над выставлением цены $999 (или я не могу поставить такую высокую цену будучи простым Developer?) и рассылать промокоды только «нужным» пользователям. В таком случае, правда, есть ограничение на 100 промокодов, не так ли? И не отвергнут ли на Review приложения вроде «Семейный альбом Петровых» или «Официальное приложение ФК Двор № 4»?


Отвечает Анатолий Шарифулин, руководитель сервиса для мониторинга приложений конкурентов AppFollow

По-моему, все проблемы преувеличены. Выпускайте свое приложение и ждите, как все, семь-десять дней, и пользуйтесь TestFlight, скоро вы привыкнете как к этому, так и к тому, что вы можете нарушить App Store Review Guidelines.

По поводу цены — так не стоит делать, проще вести логин-пароль или вход по промокоду.

Если же вы используете в своем приложении что-то такое, что не совместимо c гайдлайнами и/или ваше приложение b2b и вам не нужен «случайный» пользователь, то Enterprise — это решение. Вам нужно будет всего лишь распространять ссылку на приложение потенциальным клиентам, но вам могут отказать в заявке, если у вас, например, нет DUNS-номера организации или вы не доказали, что вам действительно это необходимо.

Мы, например, в Ostrovok.ru в 2013 году легко получили Enterprise-аккаунт, но по факту его не стали использовать на полную мощь.

41 комментарий

Я делаю очень много приложения на Adobe AIR для клиентов. Платформа - только iOS. Распространяем по ссылке (лично на почту).

Лицензия - Enterprise за 299 в год. С ней в AppStore нельзя (нет такой опции), зато можно ставить на любой девайс без запроса его UDID.

Установка возможно по ссылке. Впрочем, для этого и не нужна Enterprise лицуха. Но в обычной dev лицухе надо узнавать UDID.

Начиная с iOS8 у Apple чешутся яйца на тему "как еще трахнуть разработчика" и они запретили установку приложений "по ссылке" с доментов, где нет https протокола. Т.е. раньше достаточно было иметь http. Потом они скуржопились, что-то промычали про безопасность и разрешили установку только через https. Тут для меня возника любопытный вопрос. Если Enterprise дает возможность ставить кому угодно, а в оферте на Apple Dev написано, что только своим сотрудником за исключением (бла-бла, какие-то там исключения все же есть)... то зачем запрещать установку по http? Выходит, что раздавать аппу через Enterprise как бы нельзя, но можно? :)

Если нет своего https - я советую делать это через dropbox. https бесплатно с возможностью давать на установку прямые ссылки и потерать руки от удовлетворя работающего продукта.

1) идем на dropbox, кидаем туда index.html, iTunesArtwork.png (512x512), x72.png (72x72), myApplication.plist, myApplication.ipa

2) к каждому файлу получаем share ссылку вида https://www.dropbox.com/s/v7ds0asd78ds/myApplication.plist?dl=0

3) в кажой ссылке меняем https://www.dropbox.com на https://dl.dropboxusercontent.com и в конце убираем ?dl=0

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

4) Создаем в нашем myApplication.plist контент как у меня по ссылке https://gist.github.com/therabbitwindfall/4a522a480ab2c5f97d33

5) прописываем в нем правильные ссылки, которые мы получили в шаге 2 и 3

6) где-то на удобном нашем сервере мы создаем myApp.html и в нем делаем редирект на наш index.html из шага 2

7) клиентам раздаем ссылку с шага 6. Можно и с шага 2, но ссылка вида myapp.com/myApp.html куда круче, чем https://dl.dropboxusercontent.com/s/sdf87sd78fsdff/index.html

Клиент открывает её прямо в браузере мобильного iOS устройства и всем хорошо :) А главное, что такая схема у меня работает уже года 3.5 точно.

Apple конечно же знает, что, где и как запускалось. Но это в любом случае случается, т.к. при подключении iOS устройства через прокси - мы видим, что даже при запуске апловских прог встроенных девайс что-то пуляет к ним на сервер.

1
Ответить

Забыл главное дописать!

8) В index.html с дропбокса (хотя можно и со своего домена) прописываем a href ссылку вида

itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/vbc89brzlgh/myApplication.plist

iOS именно такую ссылку подсасывает и начинает установку. Но, сначала, спросит доверяет ли девайс этому производителю ПО :)

1
Ответить

Resign + база айдишников устройств + скрипт + рассылка. Но это мутно както на эпле колхозом заниматься. Тестфлайт решает

1
Ответить

А что именно он решает? Ведь у пользователей он должен быть загружен, не так ли?

Ответить

Pgyer.com
Шах и мат.

1
Ответить

Можешь поподробнее рассказать? Какие там есть ограничения, с какими проблемами можно столкнуться?

Ответить

Можете добавить в TestFlight ваших клиентов в качестве тестеров. Ограничение количества тестеров: 1000 людей с apple аккаунтами.

1
Ответить