Как TestFlight делает это? - PullRequest
       38

Как TestFlight делает это?

197 голосов
/ 11 февраля 2011

TestFlight предлагает беспроводную бета-версию приложений iOS (на не взломанных устройствах).Как это может быть сделано?Это функция iOS или уязвимость?

Ответы [ 5 ]

91 голосов
/ 12 февраля 2011

В этой статье показано, как реализация Apples OTA работает и может использоваться за пределами предприятия: Распределение беспроводных приложений ios

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

Некоторые дополнительные решения с разными возможностями:

  • iOS Beta Builder , Mac-приложение для создания веб-сайта с использованием сборки. Просто загрузите полученные файлы на ваш веб-сервер.

  • Diawi : простой веб-сервис. Загрузите файл IPA, при желании установите пароль и отправьте ссылку своим тестерам.

  • AppSendr : веб-сервис для хостинга бета-сборок, аналогичный Testflight, но не включает процесс регистрации устройства. Но предоставляет утилиты развертывания для автоматической загрузки новых версий.

  • HockeyKit : проект с открытым исходным кодом для размещения бета-версий на вашем собственном сервере PHP5 с дополнительными функциями, такими как клиент для обновлений в приложении, автоматические веб-сайты для конкретных устройств и работа с несколькими приложениями. Полностью на основе файлов и каталогов.

  • HockeyApp : веб-сервис для хостинга бета-сборок, обновлений в приложениях, статистики, включая регистрацию устройств, приглашения и набор персонала. Также предоставляет сбор отчетов о сбоях на стороне сервера, символику (для всех потоков) и группирование сбоев для бета-версий и приложений магазина приложений (iOS + Mac). SDK с открытым исходным кодом, с использованием HockeyKit , QuincyKit и PLCrashReporter (единственное безопасное решение о том, как выполнить сбор отчетов о сбоях на iOS, см. эта статья .

Примечание. Я являюсь основным разработчиком HockeyKit и QuincyKit и одним из разработчиков HockeyApp .

87 голосов
/ 11 февраля 2011

Это было возможно до того, как TestFlight развернул сервис. Техника проистекает из механизма распределения предприятия. Начиная с версии 4.0 устройства поддерживают установку из Интернета.

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

См:

Обновление: я хочу сказать, что Test Flight - один из самых полезных инструментов, которые я использовал при разработке. Просто исключение электронной почты IPA из картины было преуменьшением - я просто пытался вызвать технический механизм. Они делают фантастическую работу, управляя всем бета-процессом. Получение новых устройств зарегистрировано. Уведомление пользователей и т. Д.

5 голосов
/ 23 января 2012

Testflight в основном использует обычный Ad Hoc, как уже говорилось.

Чтобы это работало, вам нужно UDID для каждого устройства, чтобы добавить его в профиль Ad Hoc, перекомпилировать приложение с новым профилем и перераспределить новую сборку.

Вы можете получить UDID с помощью запроса на аутентификацию OTA.Это фактически шаг, который выполняется в MDM до того, как фактический профиль будет развернут на устройство.Он в основном запрашивает у устройства дополнительную информацию о себе и отправляет его обратно на самоназначенный сервер.

Первый шаг описан здесь: Конфигурация Apple OTA

Я думаюTestflight использует это сразу после регистрации, чтобы получить UDID, имя телефона, ...

4 голосов
/ 12 февраля 2011

Да, это основная функция iOS для корпоративных клиентов, которые хотят распространять OTA.

Предположительно, вы передадите свой UDID в TestFlight вместе с приложением, и они используют свою корпоративную лицензию для отправки приложения ввы.Я уверен, что мне не хватает многих технических деталей, но если вы хотите узнать больше, у Apple есть видео об этом с WWDC 2010.

Войдите на developer.apple.com, перейдите на WWDC 2010 Videos и используйте ссылку, чтобы добраться до видео.Требуемое видео - «Сессия 108 - Управление мобильными устройствами».Он очень информативен о том, что возможно с OTA, и о шагах, которые вы должны предпринять для обеспечения OTA.

0 голосов
/ 11 февраля 2011

Стандартные устройства iOS являются «уязвимыми» для запускающего пользователя, загружающего специальные приложения от любого разработчика, который имеет UDID этого устройства, и регистрирует этот UDID среди своих 100 разрешенных устройств на портале Apple для разработчиков.

OTA-дистрибутив - это еще один способ установить бета-тестирование Ad Hoc от зарегистрированного разработчика.

...