web-dev-qa-db-fra.com

Comment TestFlight le fait-il?

TestFlight offre une distribution bêta en direct des applications iOS (sur des appareils non jailbreakés). Comment cela peut-il être fait? S'agit-il d'une fonctionnalité iOS ou d'un exploit de vulnérabilité?

197
hpique

Cela était possible avant que TestFlight ait déployé un service. La technique découle du mécanisme de distribution d'entreprise. Depuis la version 4.0, les périphériques ont pris en charge l’installation à partir du Web.

N'oubliez pas: vous devez toujours signer la distribution bêta pour un ensemble sélectionné d'identificateurs UDID que vous ne pouvez pas simplement installer correctement sur un périphérique. Tout ce qu'ils font, c'est enlever le courrier électronique à l'IPA.

Voir:

Mise à jour: Je tiens à dire que Test Flight est l’un des outils les plus utiles que j’ai utilisés lors de mon développement. Supprimer le courrier électronique de la PAI était un euphémisme - je voulais simplement appeler le mécanisme technique. Ils font un travail fantastique en gérant tout le processus de bêta. Obtenir de nouveaux appareils inscrits. Notifier les utilisateurs, etc.

87
Nick

Cet article a montré comment l'implémentation Apples OTA fonctionne et peut également être utilisée en dehors des entreprises: distribution d'applications sans fil ios

Le processus complet est documenté par Apple . Apple a également publié de la documentation et des exemples de code pour enregistrement de périphériques et obtenez l'UDID à l'aide de profils afin que votre site Web puisse détecter quel périphérique appelle.

Quelques solutions supplémentaires avec différentes forces:

  • iOS Beta Builder , une application Mac permettant de créer le site Web à l'aide d'une version. Téléchargez simplement les fichiers résultants sur votre serveur Web.

  • Diawi : service Web simple. Téléchargez votre fichier IPA, définissez éventuellement un mot de passe et envoyez un lien à vos testeurs.

  • AppSendr : service Web pour l'hébergement de versions bêta, similaire à Testflight, mais n'incluant pas le processus d'enregistrement de périphérique. Mais fournit des utilitaires de déploiement pour télécharger automatiquement les nouvelles versions.

  • HockeyKit : Projet Open Source pour l'hébergement de versions bêta sur votre propre serveur PHP5 avec des fonctionnalités supplémentaires, telles qu'un client pour les mises à jour In-App, des sites Web automatiques spécifiques à l'appareil et la gestion de plusieurs applications. Entièrement basé sur les fichiers et les répertoires.

  • HockeyApp : Service Web pour l'hébergement de versions bêta, les mises à jour intégrées à l'application, les statistiques, et notamment l'enregistrement des appareils, les invitations et le recrutement. Fournit également la collecte de rapports d'incident côté serveur, la symbolique (pour tous les threads) et le regroupement des incidents pour les applications bêta et app store (iOS + Mac). Les SDK sont à code source ouvert et utilisent HockeyKit , QuincyKit et PLCrashReporter (seule solution sûre permettant de collecter des rapports de blocage sur iOS, voir cet article .

Remarque: je suis le principal développeur de HockeyKit et QuincyKit , et l'un des développeurs de HockeyApp .

91
Kerni

Testflight utilise fondamentalement le Ad Hoc normal comme déjà indiqué.

Pour que cela fonctionne, vous avez besoin de UDID pour chaque appareil afin de l'ajouter au profil Ad Hoc, recompilez l'application avec le nouveau profil et redistribuez la nouvelle version.

Vous pouvez obtenir le UDID à l'aide de la demande d'authentification OTA. Il s'agit en réalité d'une étape effectuée dans MDM avant que le profil réel ne soit déployé sur le périphérique. Fondamentalement, il demande à l'appareil des informations supplémentaires sur lui-même et le renvoie à un serveur spécifié par lui-même.

La première étape est documentée ici: Configuration Apple OTA

Je suppose que Testflight utilise ce droit après le processus d’enregistrement pour collecter le UDID, le nom du téléphone, ...

5
Thomas Fankhauser

Oui, il s'agit d'une fonctionnalité essentielle d'iOS pour les clients d'entreprise souhaitant distribuer OTA.

Vraisemblablement, vous transmettriez votre UDID à TestFlight avec l'application, qui utilisera sa licence d'entreprise pour vous l'envoyer. Je suis sûr qu'il me manque beaucoup de détails techniques, mais si vous voulez en savoir plus, Apple a une vidéo à ce sujet dans WWDC 2010.

Connectez-vous à developer.Apple.com, accédez à vidéos WWDC 201 et utilisez le lien pour accéder aux vidéos. La vidéo souhaitée est "Session 108 - Gestion des appareils mobiles". C'est très instructif sur ce qui est possible avec OTA et sur les étapes à suivre pour effectuer l'approvisionnement en OTA.

4
Robotic Cat

Les appareils iOS en stock sont "vulnérables" à fonctionnement l'utilisateur charge des applications ad hoc à partir de tout développeur disposant de l'UDID de cet appareil et l'enregistre parmi ses 100 appareils autorisés sur le portail des développeurs Apple.

La distribution OTA n'est qu'un autre moyen d'installer une distribution de test bêta Ad Hoc à partir d'un développeur inscrit.

0
hotpaw2