198 votes

Comment TestFlight procède-t-il ?

TestFlight propose une distribution bêta over-the-air d'applications iOS (sur des appareils non jailbroken). Comment cela est-il possible ? S'agit-il d'une fonctionnalité d'iOS ou d'une vulnérabilité exploitée ?

0 votes

Excellente question, mais je ne suis pas sûr qu'elle soit en rapport avec le sujet. C'est à la limite, IMO. Cela dit, j'aimerais bien connaître la réponse à cette question aussi, donc +1

0 votes

S'il s'agit d'une fonctionnalité d'iOS, elle m'aidera certainement à mieux comprendre le provisionnement.

12 votes

@Moshe : Pouvez-vous expliquer pourquoi vous pensez que c'est hors sujet ?

91voto

Kerni Points 8104

Cet article a montré comment la mise en œuvre de l'OTA d'Apple 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 l'enregistrement des dispositifs et obtenir l'UDID en utilisant les profils, afin que votre site web puisse détecter l'appareil qui appelle.

Quelques solutions supplémentaires avec des atouts différents :

  • Constructeur de la version bêta d'iOS Le site web est créé à l'aide d'une application Mac, en utilisant un logiciel de construction. Il suffit de télécharger 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 des versions bêta, similaire à Testflight, mais qui n'inclut pas le processus d'enregistrement des appareils. Mais il 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 dans l'application, des sites web automatiques spécifiques à l'appareil et la gestion de plusieurs applications. Entièrement basé sur des fichiers et des répertoires.

  • HockeyApp : Service Web pour l'hébergement de la version bêta, les mises à jour dans l'application, les statistiques et l'enregistrement de l'appareil, l'invitation et le recrutement. Il fournit également la collecte des rapports de crash côté serveur, la symbolisation (pour tous les threads) et le regroupement des crashs pour les applications bêta et les applications de l'app store (iOS + Mac). Les SDK sont open source et utilisent HockeyKit , QuincyKit et PLCrashReporter (qui est la seule solution sûre pour collecter les rapports de crash sur iOS, voir cet article .

Note : Je suis le principal développeur de HockeyKit et QuincyKit et l'un des concepteurs de HockeyApp .

87voto

Nick Points 4545

Cela était possible avant que TestFlight ne mette en place un service. La technique est issue du mécanisme de distribution de l'entreprise. Depuis la version 4.0, les appareils prennent en charge l'installation à partir du web.

N'oubliez pas que vous devez toujours signer la distribution bêta pour un ensemble sélectionné d'UDID et que vous ne pouvez pas l'installer n'importe comment sur n'importe quel appareil. Tout ce qu'ils font, c'est de supprimer l'étape de l'e-mail de l'API.

Voir :

Mise à jour : je tiens à dire que Test Flight est l'un des outils les plus utiles que j'ai utilisés lors du développement. Le simple fait de retirer l'envoi d'e-mails par l'API était un euphémisme - j'essayais juste d'attirer l'attention sur le mécanisme technique. Ils font un travail fantastique en gérant l'ensemble du processus bêta. L'enregistrement des nouveaux appareils. Notification des utilisateurs, etc.

6 votes

Comment font-ils pour gagner de l'argent, alors que la page d'accueil est gratuite ?

1 votes

J'imagine qu'ils lanceront une sorte d'offre premium à l'avenir. C'est gratuit pour l'instant et le nouveau SDK est vraiment impressionnant. Il peut collecter les logs de crash et les informations d'utilisation directement à partir de vos clients de test et même les symboliser si vous êtes à l'aise avec l'envoi de vos dsyms.

7 votes

C'est assez impressionnant, mais j'ai l'habitude de dire "si c'est trop beau pour être vrai, c'est généralement le cas" sur Internet :)

5voto

Thomas Fankhauser Points 1899

Testflight utilise essentiellement le système Ad Hoc normal, comme indiqué précédemment.

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

Vous pouvez obtenir le UDID à l'aide de la demande d'authentification OTA. Il s'agit en fait d'une étape réalisée dans le cadre du MDM avant que le profil proprement dit ne soit déployé sur l'appareil. Elle demande à l'appareil de fournir des informations supplémentaires sur lui-même et les renvoie à un serveur spécifié par l'utilisateur.

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

Je suppose que Testflight l'utilise juste après le processus d'enregistrement pour collecter les données de l'utilisateur. UDID , nom du téléphone, ...

4voto

Robotic Cat Points 3169

Oui, il s'agit d'une fonctionnalité essentielle d'iOS pour les entreprises qui souhaitent distribuer des OTA.

On peut supposer que vous transmettez votre UDID à TestFlight en même temps que l'application et qu'ils utilisent leur licence d'entreprise pour vous envoyer l'application. Je suis sûr qu'il me manque beaucoup de détails techniques, mais si vous voulez en savoir plus, Apple a publié une vidéo sur ce sujet lors de la WWDC 2010.

Connectez-vous à developer.apple.com, allez à Vidéos WWDC 2010 et utilisez le lien pour accéder aux vidéos. La vidéo que vous recherchez est "Session 108 - Managing Mobile Devices". Elle est très instructive sur ce qui est possible avec l'OTA et les étapes à suivre pour effectuer le provisionnement OTA.

3voto

Dan Ray Points 14852

Une alternative est Hockey Il s'agit d'une application web que vous exécutez sur votre propre serveur et d'un cadre de travail que vous intégrez dans l'application. D'une manière ou d'une autre, l'application sait quand une mise à jour doit être téléchargée et déclenche sa propre mise à jour.

J'utilise moi-même Test Flight, mais il s'agit d'une autre utilisation de la même fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X