При создании мобильного приложения под iPad для одной крупной компании перед нами встал вопрос — как распространять данное приложение. Самый распространённый вариант — конечно, через AppStore.
Но данный вариант нам не подошел, так как приложение создавалось для работников компании, а не для общего пользования. Остался только второй вариант — Enterprise Program (подробнее о Developer Program и Enterprise Program).
Клиент купил лицензию, мы занимались разработкой, и вот настало время выкладывать приложение. До этого мы выкладывали приложения в AppStore, а вот опыта работы с in-house приложениями (они предполагают внутреннее использование в компании и не предназначены для выкладывания в общий доступ) не было. К нашему удивлению, мы не нашли полноценных статей, описывающих данный процесс, поэтому решили составить некую инструкцию, которая поможет сэкономить кому-то время.
Получение пакета файлов приложения
Итак, после того как разработка завершена, необходимо выполнить следующие шаги:
- Создать Distribution-сертификат (подробное описание процесса).
- Создать Distribution Provisioning Profile
- Подписать приложение соответствующим Provisioning Profile и создать пакет, который потом можно распространять. Для этого в XCode в меню Product нужно выбрать Archive и отметить пункт — Save for Enterprise or Ad-Hoc Deployment.
- Далее выбрать подпись (необходимо выбрать тот provisioning profile который создали выше)
- Сохранить полученный пакет. Не забудьте поставить галочку рядом 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 к профайлу устройства (иначе приложение не будет работать).
Также можно посмотреть порядок действий на видео.
Автор: Dimn