Те кому нравятся всякие сервисы типа testflight или подобное ….., могут не читать. Здесь информация для тех, кто делает все нормальным стандартным путем. В первую очередь это нужно тем, кому нужно тестировать приложения на устройствах с iOS < 8 или нет желания заставлять пользователей (тестировщиков) исполнять долгий танец с бубном.
Кратко, что должно получится
- HTML страница, (которую юзер может открыть у себя на устройстве) с "хитрой" ссылкой - INSTALL
- IPA файл нашего приложения
- PLIST файл с параметрами установки
Главное - все эти три файла должны находится на одном и том же сервере и быть доступным по протоколу https с легальным SSL сертификатом.
Я объясню все по шагам, чтобы стала понятна суть. Кто захочет, сможет автоматизировать процесс.
Сначала создадим IPA
1. У нас есть Xcode, в нем открыт проект. В проекте указаны правильные сертификаты разработчика и прочее.
Для проверки, что все ок, достаточно подключить телефон/планшет к компьютеру и запустить свой проект на нем. Если запустится — все настроено правильно. Идем дальше.
2. В качестве целевого устройства указываем Generic iOS Device и компилируем проект.
3. Потом, в окне Project Navigator выбираем откомпилированное приложение ***.app, жмем на нем правой кнопкой и выбираем Show In Finder.
Вы окажетесь в папке с приложением.
4. Создаем папку — Payload и переносим в нее файл ***.app
5. Сжимаем папку стандартным архиватором.
6. Архив переименовываем с ***.zip в ***.ipa.
Готово.
Cоздадим HTML
Пример .html
<html>
<head>
<title>TEST</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
</head>
<body>
<h2>ABC</h2>
<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/********/abc.plist">
INSTALL!!</a>
<br>
</body>
</html>
Cоздадим PLIST
Пример .plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://dl.dropboxusercontent.com/s/******/abc.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>ru.mysoft.abc</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>abc</string>
</dict>
</dict>
</array>
</dict>
</plist>
7. Загружаем ***.ipa в DropBox
8. Расшариваем ***.ipa, получаем ссылку вида https://www.dropbox.com/s/*******/***.ipa
9. Заменяем www.dropbox.com на dl.dropboxusercontent.com. Ссылка теперь выглядит так – https://dl.dropboxusercontent.com/s/********/***.ipa
10. В ***.plist файл вносим полученную ссылку в раздел
<key>url</key>
<string>https://dl.dropboxusercontent.com/s/*******/***.ipa</string>
11. Сохраняем и загружаем ***.plist в DropBox
12. Расшариваем ***.plist, получаем ссылку вида https://www.dropbox.com/s/*******/*.plist
13. Заменяем www.dropbox.com на dl.dropboxusercontent.com в ссылке
14. Создаем HTML-страницу, в которую вставляем ссылку <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/*******/***.plist">INSTALL!!</a>
15. Загружаем ***.html в DropBox
16. Расшариваем ***.html, получаем ссылку вида https://www.dropbox.com/s/*****/***.html
17. Заменяем www.dropbox.com на dl.dropboxusercontent.com в ссылке
18. Заходим с девайса по полученному url – https://dl.dropboxusercontent.com/s/*****/***.html и ставим программу