Pull to refresh

Как распространять iOS приложения минуя AppStore

Reading time 3 min
Views 120K
При создании мобильного приложения под iPad для одной крупной компании перед нами встал вопрос — как распространять данное приложение. Самый распространённый вариант — конечно, через AppStore.

Но данный вариант нам не подошел, так как приложение создавалось для работников компании, а не для общего пользования. Остался только второй вариант — Enterprise Program (подробнее о Developer Program и Enterprise Program).

Клиент купил лицензию, мы занимались разработкой, и вот настало время выкладывать приложение. До этого мы выкладывали приложения в AppStore, а вот опыта работы с in-house приложениями (они предполагают внутреннее использование в компании и не предназначены для выкладывания в общий доступ) не было. К нашему удивлению, мы не нашли полноценных статей, описывающих данный процесс, поэтому решили составить некую инструкцию, которая поможет сэкономить кому-то время.

Получение пакета файлов приложения



Итак, после того как разработка завершена, необходимо выполнить следующие шаги:
  1. Создать Distribution-сертификат (подробное описание процесса).
  2. Создать Distribution Provisioning Profile
  3. Подписать приложение соответствующим Provisioning Profile и создать пакет, который потом можно распространять. Для этого в XCode в меню Product нужно выбрать Archive и отметить пункт — Save for Enterprise or Ad-Hoc Deployment.



  4. Далее выбрать подпись (необходимо выбрать тот provisioning profile который создали выше)



  5. Сохранить полученный пакет. Не забудьте поставить галочку рядом Save for Enterprise Distribution (без этого вы не сможете получить plist-файл). В поле Application URL указываем полный путь к ipa файлу на сервере (http://www.yoursite.com/dir/yourFile.ipa)





На выходе мы получим ipa- и plist-файлы, их уже можно переслать людям, которым нужно установить приложение. Но для установки на iPad (iPhone) необходимо подключить его к компьютеру (при этом пользователям Windows необходимы еще и некоторые танцы с бубном).

Установка приложения через интернет



А как быть, если под рукой нет компьютера? Это как раз был наш случай, так как приложение предназначалось для торговых представителей компании заказчика, а они по роду своей деятельности чаще всего находятся в пути и не имеют компьютера под рукой. Встал вопрос: «А как же распространять in-house приложения (кстати, то же самое справедливо и для Ad Hoc distribution — прямой установки файла-сборки приложения через iTunes), не используя компьютер?» Всё оказалось просто, даже очень просто!

Нужно выложить ранее созданные ipa- и plist-файлы на сервер, к которому есть http (или https) доступ. Затем создать простой html-файл, в котором будет ссылка на plist-файл следующего вида:

<a href="itms-services://?action=download-manifest&url=#your_plist_file_path.plist#">Install</a>


И заменить #your_plist_file_path.plist# на полный путь к своему plist-файлу (важный ньюанс: в имени plist-файла не должно содержаться пробелов). Т.е. код должен получиться примерно таким:

<a href="itms-services://?action=download-manifest&url=http://www.yoursite.ru/dirname/yourFile.plist">Install</a>


Пользователь, зайдя на сайт со своего iPhone или iPad, нажмет на эту ссылку и получит сообщение: «Хотите ли вы установить данное приложение?». Вот, собственно, и всё.

Пара мелочей



Дополнительное преимущество распространения in-house состоит в том, что приложение не проходит проверки в Apple, и соответственно, не «зависает» там на 1-2 недели (а иногда и больше), что очень полезно для исправления ошибок и внесения срочных изменений.

Все описанное работает и для распространения приложения путем Ad Hoc. Единственное отличие: при создании Provisioning Profile необходимо выбрать соответствующий пункт в Distribution Method и привязать Provisioning Profile к профайлу устройства (иначе приложение не будет работать).



Также можно посмотреть порядок действий на видео.

Tags:
Hubs:
+66
Comments 21
Comments Comments 21

Articles