Wie macht TestFlight das?

197

TestFlight bietet die drahtlose Beta-Verteilung von iOS-Apps (auf Geräten ohne Jailbreak). Wie kann das gemacht werden? Ist dies eine iOS-Funktion oder ein Schwachstellen-Exploit?

hpique
quelle
Gute Frage, aber ich bin mir nicht sicher, ob dies ein Thema ist. Es ist grenzwertig, IMO. Das heißt, ich würde gerne auch die Antwort darauf wissen, also +1
Moshe
Wenn es sich um eine iOS-Funktion handelt, hilft es mir sicherlich, die Bereitstellung besser zu verstehen.
hpique
12
@ Moshe: Kannst du erklären, warum du denkst, dass dies nicht zum Thema gehört?
Besi
Die Frage bezieht sich also auf ein Verteilungswerkzeug, in keiner Weise auf das Schreiben von Code. Trotzdem habe ich meinen Kommentar vor fast einem Jahr geschrieben. Die Umgebung auf SO war etwas anders.
Moshe
8
Das ist eine sehr gute Frage.
Stolzes Mitglied

Antworten:

87

Dies war möglich, bevor TestFlight einen Dienst einführte. Die Technik stammte aus dem Unternehmensverteilungsmechanismus. Seit 4.0 unterstützen Geräte die Installation aus dem Web.

Denken Sie daran, dass Sie die Beta-Distribution für einen ausgewählten Satz von UDIDs noch signieren müssen. Sie können sie nicht einfach auf jedem Gerät installieren. Alles, was sie tun, ist, der E-Mail den IPA-Schritt aus den Dingen zu nehmen.

Sehen:

Update: Ich möchte sagen, dass Test Flight eines der hilfreichsten Tools ist, die ich bei der Entwicklung verwendet habe. Nur die IPA-E-Mail aus dem Bild zu nehmen, war eine Untertreibung - ich habe nur versucht, den technischen Mechanismus aufzurufen. Sie machen einen fantastischen Job und verwalten den gesamten Beta-Prozess. Neue Geräte registrieren lassen. Benutzer benachrichtigen usw.

Nick
quelle
6
Wie verdienen sie Geld, heißt es kostenlos auf der Homepage?
Jonathan.
1
Ich kann mir vorstellen, dass sie in Zukunft eine Art Premium-Angebot starten werden. Es ist jetzt kostenlos und das neue SDK ist wirklich beeindruckend. Es kann Absturzprotokolle und Nutzungsinformationen direkt von Ihren Testclients sammeln und sogar symbolisieren, wenn Sie Ihre Dsyms bequem hochladen möchten.
Nick
7
Es ist ziemlich beeindruckend, nur ich bin es gewohnt "Wenn es zu schön ist, um wahr zu sein, ist es normalerweise" im Internet :)
Jonathan.
Ich vermute, dass sie Geld verdienen werden, indem sie für ihre Dienste in der Produktion Gebühren erheben und Beta-Dienste kostenlos halten. Sie unterstützen die Nutzung der Produktion heute nicht offiziell und spielen in ihren Support-Foren immer wieder auf eine bevorstehende "Lösung für die Produktion" an.
Nils
5
@ Nick Ich denke deine Antwort ist nicht ganz richtig. 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. Für ein Enterprise Distribution Provisioning-Profil müssen Sie die Geräte nicht angeben und können die Binärdatei (zumindest technisch) auf jedem Gerät installieren. Die Lizenz beschränkt Sie jedoch darauf, sie nur innerhalb des Unternehmens zu installieren, für das das Distributionsprofil ausgestellt wurde.
Besi
91

Dieser Artikel zeigte, wie die Implementierung von Apples OTA funktioniert und auch außerhalb von Unternehmen verwendet werden kann: ios Wireless App Distribution

Der gesamte Prozess ist von Apple dokumentiert . Apple hat außerdem Dokumentation und Beispielcode zum Registrieren von Geräten veröffentlicht und die UDID mithilfe von Profilen abgerufen, damit Ihre Website erkennen kann, welches Gerät anruft.

Einige zusätzliche Lösungen mit unterschiedlichen Stärken:

  • iOS Beta Builder , eine Mac-Anwendung zum Erstellen der Website mithilfe eines Builds. Laden Sie einfach die resultierenden Dateien auf Ihren Webserver hoch.

  • Diawi : Einfacher Webdienst. Laden Sie Ihre IPA-Datei hoch, legen Sie optional ein Passwort fest und senden Sie einen Link an Ihre Tester.

  • AppSendr : Webdienst für Beta-Build-Hosting, ähnlich wie Testflight, jedoch ohne Geräteregistrierungsprozess. Bietet jedoch Bereitstellungsdienstprogramme zum automatischen Hochladen neuer Versionen.

  • HockeyKit : Open Source-Projekt zum Hosten von Beta-Versionen auf Ihrem eigenen PHP5-Server mit zusätzlichen Funktionen wie einem Client für In-App-Updates, automatischen gerätespezifischen Websites und der Bearbeitung mehrerer Anwendungen. Vollständig datei- und verzeichnisbasiert.

  • HockeyApp : Webdienst für Beta-Build-Hosting, In-App-Updates, Statistiken und einschließlich Geräteregistrierung , Einladung und Rekrutierung. Bietet außerdem serverseitige Sammlung von Absturzberichten, Symbolisierung (für alle Threads) und Absturzgruppierung für Beta- und App Store-Apps (iOS + Mac). SDKs sind Open Source und verwenden HockeyKit , QuincyKit und PLCrashReporter (die einzige sichere Lösung für die Erfassung von Absturzberichten unter iOS) . Weitere Informationen finden Sie in diesem Artikel .

Hinweis: Ich bin der Hauptentwickler von HockeyKit und QuincyKit und einer der Entwickler von HockeyApp .

Kerni
quelle
5

Testflight verwendet grundsätzlich das normale Ad-hoc-Verfahren, wie bereits erwähnt.

Damit dies funktioniert, benötigen Sie das UDIDfür jedes Gerät, um es dem Ad-hoc-Profil hinzuzufügen. Kompilieren Sie die App mit dem neuen Profil neu und verteilen Sie den neuen Build neu.

Sie können die UDIDmit Hilfe der OTA-Authentifizierungsanforderung erhalten. Dies ist tatsächlich ein Schritt, der in MDM ausgeführt wird, bevor das eigentliche Profil auf dem Gerät bereitgestellt wird. Grundsätzlich werden die Geräte um weitere Informationen gebeten und an einen selbst angegebenen Server zurückgesendet.

Der erste Schritt ist hier dokumentiert: Apple OTA-Konfiguration

Ich denke, Testflight verwendet dies direkt nach dem Registrierungsprozess, um den UDID, ...

Thomas Fankhauser
quelle
4

Ja, dies ist eine Kernfunktion von iOS für Unternehmenskunden, die OTA vertreiben möchten.

Vermutlich würden Sie Ihre UDID zusammen mit der App an TestFlight weitergeben und diese verwenden ihre Unternehmenslizenz, um die App an Sie zu senden. Ich bin mir sicher, dass mir viele technische Details fehlen, aber wenn Sie mehr wissen möchten, hat Apple ein Video dazu von der WWDC 2010.

Melden Sie sich bei developer.apple.com an, gehen Sie zu WWDC 2010-Videos und verwenden Sie den Link, um zu den Videos zu gelangen. Das gewünschte Video ist "Sitzung 108 - Verwalten mobiler Geräte". Es ist sehr informativ darüber, was mit OTA möglich ist und welche Schritte Sie zur Durchführung der OTA-Bereitstellung unternehmen müssen.

Roboterkatze
quelle
0

Standardmäßige iOS-Geräte sind "anfällig" für das Ausführen von Ad-hoc-Apps durch Benutzer, die über die UDID dieses Geräts verfügen, und registrieren diese UDID unter ihren 100 zulässigen Geräten im Entwicklerportal von Apple.

Die OTA-Verteilung ist nur eine weitere Möglichkeit, eine Ad-hoc-Beta-Testverteilung von einem registrierten Entwickler zu installieren.

hotpaw2
quelle