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?
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?
Antworten:
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.
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.
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 .
Testflight verwendet grundsätzlich das normale Ad-hoc-Verfahren, wie bereits erwähnt.
Damit dies funktioniert, benötigen Sie das UDID
fü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 UDID
mit 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
, ...
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.
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.