Як це робить TestFlight?


197

TestFlight пропонує бета-версію розповсюдження бета-версії додатків для iOS (на пристроях, що не перебувають у в'язниці). Як це можна зробити? Це функція iOS чи експлуатування вразливості?


Чудове запитання, але я не впевнений, чи це на тему. Це межа, ІМО. Це сказало, що я також хотів би дізнатися відповідь на це, тому +1
Моше

Якщо це функція iOS, вона, безумовно, допоможе мені краще зрозуміти, як забезпечити.
hpique

12
@Moshe: Чи можете ви пояснити, чому ви вважаєте, що це поза темою?
Бесі

Таким чином, питання пов'язане з інструментом розповсюдження, а не жодним чином для написання коду. Однак, я написав свій коментар майже рік тому. Навколишнє середовище на SO було дещо іншим.
Моше

8
Це дуже гарне запитання.
Гордий член

Відповіді:


87

Це було можливо до того, як TestFlight запровадив сервіс. Методика випливала з механізму розподілу підприємства. Оскільки 4.0 пристрої підтримують установку з Інтернету.

Пам'ятайте - вам все одно потрібно підписати бета-розподіл для вибраного набору UDID, що ви не можете просто невільно встановити його на будь-який пристрій. Все, що вони роблять, - це вимкнути електронну пошту із IPA.

Побачити:

Оновлення: Я хочу сказати, що тестовий політ - це один із найкорисніших інструментів, який я використовував при розробці. Тільки виймання електронної пошти IPA з картинки було заниженим - я просто намагався викликати технічний механізм. Вони роблять фантастичну роботу, керуючи всім бета-процесом. Отримання нових пристроїв. Повідомлення користувачів тощо


6
як вони заробляють гроші, на домашній сторінці написано безкоштовно?
Джонатан.

1
Я думаю, вони почнуть в майбутньому якусь преміальну пропозицію. Зараз це безкоштовно, і новий SDK справді вражає. Він може збирати журнали аварійних ситуацій та інформацію про використання безпосередньо від ваших клієнтів тестування і навіть символізувати їх, якщо вам зручно завантажувати ваші диски.
Нік

7
Це дуже вражає, просто я звик "Якщо це занадто добре, щоб це було правдою, це зазвичай" в Інтернеті :)
Джонатан.

Я підозрюю, що вони будуть заробляти гроші, стягуючи кошти за свої послуги у виробництві, а бета-послуги залишатимуться безкоштовними. Вони офіційно не підтримують використання виробництва сьогодні, і вони постійно натякають на майбутнє "рішення для виробництва" на своїх форумах підтримки.
Нілс

5
@Nick Я думаю, що ваша відповідь не зовсім правильна. You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. Для профілю забезпечення розподілу підприємства не потрібно вказувати пристрої, і ви можете (принаймні технічно) встановити двійковий код на будь-якому пристрої. Однак ліцензія обмежує встановлення її лише в тій компанії, якій був виданий профіль розповсюдження.
Бесі

91

У цій статті було показано, як працює реалізація Apple OTA та чи може вона застосовуватися і поза межами підприємств: ios розподіл бездротових програм

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

Деякі додаткові рішення з різною силою:

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

  • Diawi : Простий веб-сервіс. Завантажте свій IPA-файл, необов’язково встановіть пароль та надішліть посилання своїм тестерам.

  • AppSendr : Веб-сервіс для хостингу бета-версії, аналогічний тестуванню, але не включає процес реєстрації пристрою. Але надає утиліти розгортання для автоматичного завантаження нових версій.

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

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

Примітка. Я є головним розробником HockeyKit та QuincyKit та одним із розробників HockeyApp .


5

Як правило, тестовий політ використовує звичайний спеціальний режим.

Щоб це працювало, вам потрібно UDIDкожен пристрій, щоб додати його до спеціального профілю, перекомпілювати додаток із новим профілем і перерозподілити нову збірку.

Ви можете отримати їх UDIDза допомогою запиту на аутентифікацію OTA. Це фактично крок, який робиться в MDM перед тим, як фактичний профіль буде розгорнутий на пристрій. По суті, він запитує у пристрою додаткову інформацію про себе та надсилає його назад на самостійно вказаний сервер.

Перший крок задокументований тут: Конфігурація Apple OTA

Я думаю, що Testflight використовує це відразу після процедури реєстрації для збору UDID, імені телефону, ...


4

Так, це основна особливість iOS для корпоративних клієнтів, які бажають поширювати OTA.

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

Увійдіть до developer.apple.com, перейдіть до відеозаписів WWDC 2010 та скористайтеся посиланням, щоб потрапити на види. Ви хочете відео "Сесія 108 - Керування мобільними пристроями". Це дуже інформативно про те, що можливо з OTA та кроки, які ви повинні зробити, щоб забезпечити надання OTA.


0

Пристрої iOS пристроїв "вразливі" до роботи користувачем програм, що завантажують Ad Hoc програми від будь-якого розробника, який має UDID цього пристрою, і реєструє UDID серед своїх 100 дозволених пристроїв на порталі розробників Apple.

Розподіл OTA - це лише ще один спосіб встановити бета-тестовий розподіл Ad Hoc від зареєстрованого розробника.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.