Jak to robi TestFlight?

197

TestFlight oferuje bezprzewodową dystrybucję beta aplikacji na iOS (na urządzeniach bez jailbreaku). Jak można to zrobić? Czy to funkcja iOS, czy luka w zabezpieczeniach?

hpique
źródło
Świetne pytanie, ale nie jestem pewien, czy jest to temat. To granica, IMO. To powiedziawszy, też chciałbym poznać odpowiedź na to pytanie, więc +1
Moshe
Jeśli jest to funkcja iOS, z pewnością pomoże mi lepiej zrozumieć obsługę administracyjną.
hpique
12
@Moshe: Czy możesz wyjaśnić, dlaczego uważasz, że to nie na temat?
Besi
Pytanie dotyczy zatem narzędzia dystrybucji, a nie pisania kodu. To powiedziawszy, napisałem swój komentarz prawie rok temu. Środowisko w SO było trochę inne.
Moshe
8
To jest bardzo dobre pytanie.
Dumny członek

Odpowiedzi:

87

Było to możliwe, zanim TestFlight wprowadził usługę. Technika ta wynikała z mechanizmu dystrybucji przedsiębiorstwa. Ponieważ urządzenia 4.0 obsługują instalację z Internetu.

Pamiętaj - nadal musisz podpisać wersję beta dla wybranego zestawu identyfikatorów UDID, których nie możesz po prostu zainstalować na żadnym urządzeniu. Wszystko, co robią, to usunięcie wiadomości e-mail z IPA.

Widzieć:

Aktualizacja: Chcę powiedzieć, że Lot testowy jest jednym z najbardziej pomocnych narzędzi, z których korzystałem podczas programowania. Samo usunięcie ze zdjęcia wiadomości e-mail IPA było niedopowiedzeniem - starałem się wywołać mechanizm techniczny. Wykonują fantastyczną robotę zarządzając całym procesem beta. Rejestracja nowych urządzeń. Powiadamianie użytkowników itp.

Nacięcie
źródło
6
jak zarabiają pieniądze, mówi na stronie głównej za darmo?
Jonathan.
1
Wyobrażam sobie, że w przyszłości rozpoczną jakąś ofertę premium. Jest teraz bezpłatny, a nowy zestaw SDK robi naprawdę wrażenie. Może gromadzić dzienniki awarii i informacje o użytkowaniu bezpośrednio od klientów testowych, a nawet symbolizować je, jeśli nie ma problemu z przesyłaniem plików dsyms.
Nick
7
To dość imponujące, po prostu przyzwyczaiłem się do tego, że „jeśli to zbyt piękne, aby mogło być prawdziwe, zwykle” jest w Internecie :)
Jonathan.
Podejrzewam, że będą zarabiać, pobierając opłaty za swoje usługi produkcyjne i utrzymując darmowe usługi beta. Oficjalnie nie wspierają obecnie wykorzystania produkcyjnego i na swoich forach wsparcia nawołują do nadchodzącego „rozwiązania dla produkcji”.
Nils,
5
@Nick Myślę, że twoja odpowiedź nie jest całkowicie poprawna. 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. Za przedsiębiorstwo dystrybucji udostępniana określona profilu nie musisz określić urządzenia i może (przynajmniej technicznie) zainstalować binarnego na dowolnym urządzeniu. Jednak licencja ogranicza się do instalowania jej tylko w firmie, której profil dystrybucji został wydany.
Besi
91

W tym artykule pokazano, jak działa implementacja OTA firmy Apple i można jej również używać poza przedsiębiorstwami: dystrybucja aplikacji bezprzewodowych iOS

Cały proces jest udokumentowany przez Apple . Apple opublikowało również dokumentację i przykładowy kod do rejestrowania urządzeń i uzyskiwania identyfikatora UDID za pomocą profili, dzięki czemu witryna może wykryć, które urządzenie dzwoni.

Niektóre dodatkowe rozwiązania o różnych mocach:

  • iOS Beta Builder , aplikacja Mac do tworzenia witryny za pomocą kompilacji. Po prostu prześlij uzyskane pliki na swój serwer internetowy.

  • Diawi : Prosta usługa internetowa. Prześlij plik IPA, opcjonalnie ustaw hasło i wyślij link do testerów.

  • AppSendr : usługa sieci Web dla hostingu wersji beta, podobna do Testflight, ale nie obejmuje procesu rejestracji urządzenia. Ale zapewnia narzędzia do wdrażania umożliwiające automatyczne przesyłanie nowych wersji.

  • HockeyKit : projekt typu open source do hostowania wersji beta na własnym serwerze PHP5 z dodatkowymi funkcjami, takimi jak klient do aktualizacji w aplikacji, automatyczne strony internetowe specyficzne dla urządzenia i obsługa wielu aplikacji. Całkowicie oparty na plikach i katalogach.

  • HockeyApp : usługa sieci Web dla hostingu wersji beta, aktualizacji aplikacji, statystyk, w tym rejestracji urządzeń, zaproszeń i rekrutacji. Zapewnia także zbieranie raportów o awariach po stronie serwera, symbolizację (dla wszystkich wątków) i grupowanie awarii dla aplikacji w wersji beta i App Store (iOS + Mac). Zestawy SDK są oprogramowaniem typu open source, używają HockeyKit , QuincyKit i PLCrashReporter (które jest jedynym bezpiecznym rozwiązaniem dotyczącym sposobu zbierania raportów o awariach w systemie iOS, zobacz ten artykuł .

Uwaga: Jestem głównym programistą HockeyKit i QuincyKit oraz jednym z programistów HockeyApp .

Kerni
źródło
5

Testflight w zasadzie używa normalnego Ad Hoc, jak już wspomniano.

Aby to zadziałało, potrzebujesz UDIDdla każdego urządzenia, aby dodać je do profilu Ad Hoc, ponownie skompiluj aplikację z nowym profilem i rozpowszechnij nową kompilację.

Możesz uzyskać UDIDpomoc przy pomocy żądania uwierzytelnienia OTA. W rzeczywistości jest to krok wykonywany w MDM przed wdrożeniem rzeczywistego profilu na urządzeniu. Zasadniczo prosi urządzenie o dodatkowe informacje o sobie i odsyła je z powrotem do samodzielnie określonego serwera.

Pierwszy krok jest udokumentowany tutaj: Konfiguracja Apple OTA

Wydaje mi się, że Testflight korzysta z tego zaraz po procesie rejestracji, aby zebrać UDID...

Thomas Fankhauser
źródło
4

Tak, jest to podstawowa funkcja iOS dla klientów korporacyjnych, którzy chcą rozpowszechniać OTA.

Przypuszczalnie przekażesz swój UDID razem z aplikacją TestFlight, a oni wykorzystają licencję Enterprise, aby wysłać Ci aplikację. Jestem pewien, że brakuje mi wielu szczegółów technicznych, ale jeśli chcesz dowiedzieć się więcej, Apple ma wideo na ten temat z WWDC 2010.

Zaloguj się do developer.apple.com, przejdź do filmów WWDC 2010 i użyj linku, aby dostać się do vidoes. Film, który chcesz, to „Sesja 108 - Zarządzanie urządzeniami mobilnymi”. Jest bardzo pouczający na temat tego, co jest możliwe z OTA i kroków, które należy podjąć, aby dokonać obsługi OTA.

Robotic Cat
źródło
0

Standardowe urządzenia z systemem iOS są „podatne” na działanie użytkownika ładującego aplikacje Ad Hoc od dowolnego programisty, który ma identyfikator UDID tego urządzenia, i rejestruje ten identyfikator UDID wśród swoich 100 dozwolonych urządzeń w portalu programistów Apple.

Dystrybucja OTA to tylko kolejny sposób na zainstalowanie dystrybucji testowej Ad Hoc od zarejestrowanego programisty.

hotpaw2
źródło