Come funziona TestFlight?


197

TestFlight offre una distribuzione beta over-the-air delle app iOS (su dispositivi non jailbreak). Come si può fare? È una funzionalità iOS o un exploit di vulnerabilità?


Ottima domanda, ma non sono sicuro che questo sia in tema. È borderline, IMO. Detto questo, mi piacerebbe sapere anche la risposta, quindi +1
Moshe,

Se si tratta di una funzionalità iOS, mi aiuterà sicuramente a capire meglio il provisioning.
hpique,

12
@Moshe: puoi spiegare perché pensi che sia fuori tema?
Besi,

Quindi la domanda è collegata a uno strumento di distribuzione, non in alcun modo alla scrittura di codice. Detto questo, ho scritto il mio commento quasi un anno fa. L'ambiente su SO era un po 'diverso.
Moshe,

8
Questa è un'ottima domanda
Membro orgoglioso

Risposte:


87

Ciò era possibile prima che TestFlight lanciasse un servizio. La tecnica derivava dal meccanismo di distribuzione aziendale. Dal 4.0 i dispositivi supportano l'installazione dal web.

Ricorda: devi ancora firmare la distribuzione beta per un set selezionato di UDID che non puoi semplicemente installarlo su qualsiasi dispositivo. Tutto quello che stanno facendo è prendere l'e-mail dall'IPA per uscire dalle cose.

Vedere:

Aggiornamento: voglio dire che Test Flight è uno degli strumenti più utili che ho usato durante lo sviluppo. È stato un eufemismo semplicemente eliminare l'email IPA dall'immagine. Stavo solo cercando di richiamare il meccanismo tecnico. Fanno un lavoro fantastico gestendo l'intero processo beta. Ottenere nuovi dispositivi registrati. Notifica agli utenti ecc.


6
come fanno soldi, si dice gratuitamente sulla homepage?
Jonathan.

1
Immagino che inizieranno una sorta di offerta premium in futuro. Ora è gratuito e il nuovo SDK è davvero impressionante. Può raccogliere i registri degli arresti anomali e le informazioni sull'utilizzo direttamente dai client di test e persino simboleggiarli se si ha dimestichezza con il caricamento delle palestre.
Nick,

7
È abbastanza impressionante, sono abituato a "Se è troppo bello per essere vero, di solito lo è" su Internet :)
Jonathan.

Sospetto che faranno soldi addebitando i loro servizi in produzione e manterranno liberi i servizi beta. Oggi non supportano ufficialmente l'uso della produzione e continuano a alludere a una prossima "soluzione per la produzione" nei loro forum di supporto.
Nils,

5
@Nick Penso che la tua risposta non sia del tutto corretta. 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. Per un profilo di provisioning della distribuzione aziendale non è necessario specificare i dispositivi e è possibile (almeno tecnicamente) installare il binario su qualsiasi dispositivo. Tuttavia, la licenza ti limita a installarlo solo all'interno dell'azienda a cui è stato emesso il profilo di distribuzione.
Besi,

91

Questo articolo mostra come funziona l'implementazione OTA di mele e può essere utilizzata anche al di fuori delle aziende: distribuzione di app wireless ios

Il processo completo è documentato da Apple . Apple ha inoltre pubblicato documentazione e codice di esempio per la registrazione dei dispositivi e ottenere l'UDID utilizzando i profili, in modo che il tuo sito Web possa rilevare quale dispositivo sta chiamando.

Alcune soluzioni aggiuntive con diversi punti di forza:

  • iOS Beta Builder , un'applicazione Mac per creare il sito Web utilizzando una build. Carica semplicemente i file risultanti sul tuo server web.

  • Diawi : servizio Web semplice. Carica il tuo file IPA, facoltativamente imposta una password e invia un link ai tester.

  • AppSendr : servizio Web per l'hosting beta build, simile a Testflight, ma non include il processo di registrazione del dispositivo. Ma fornisce utilità di distribuzione per caricare automaticamente nuove versioni.

  • HockeyKit : progetto open source per l'hosting di versioni beta sul proprio server PHP5 con funzionalità aggiuntive come un client per aggiornamenti in-app, siti Web automatici specifici per dispositivo e gestione di più applicazioni. Completamente basato su file e directory.

  • HockeyApp : servizio Web per l'hosting di build beta, aggiornamenti in-app, statistiche e inclusi registrazione, invito e reclutamento del dispositivo. Fornisce inoltre la raccolta dei rapporti sugli arresti anomali sul lato server, la simbolizzazione (per tutti i thread) e il raggruppamento degli arresti anomali per le app beta e app store (iOS + Mac). Gli SDK sono open source, utilizzando HockeyKit , QuincyKit e PLCrashReporter (che è l'unica soluzione sicura su come eseguire la raccolta dei rapporti sugli arresti anomali su iOS, consulta questo articolo .

Nota: sono lo sviluppatore principale di HockeyKit e QuincyKit e uno degli sviluppatori di HockeyApp .


5

Testflight utilizza fondamentalmente il normale Ad Hoc come già indicato.

Perché questo funzioni, è necessario UDID per ogni dispositivo per poterlo aggiungere al profilo Ad Hoc, ricompilare l'app con il nuovo profilo e ridistribuire la nuova build.

Puoi ottenere il UDID con l'aiuto della richiesta di autenticazione OTA. Questo è in realtà un passaggio che viene eseguito in MDM prima che il profilo effettivo venga implementato sul dispositivo. Fondamentalmente chiede al dispositivo ulteriori informazioni su se stesso e lo rispedisce a un server auto-specificato.

Il primo passo è documentato qui: Configurazione Apple OTA

Immagino che Testflight lo usi subito dopo il processo di registrazione per raccogliere il UDIDnome del telefono, ...


4

Sì, questa è una funzionalità fondamentale di iOS per i clienti Enterprise che desiderano distribuire OTA.

Presumibilmente passeresti il ​​tuo UDID a TestFlight insieme all'app e loro useranno la loro Licenza Enterprise per inviarti l'app. Sono sicuro che mi mancano molti dettagli tecnici, ma se vuoi saperne di più, Apple ha un video su questo dal WWDC 2010.

Accedi a developer.apple.com, vai ai video del WWDC 2010 e usa il link per accedere ai video. Il video che desideri è "Sessione 108 - Gestione dei dispositivi mobili". È molto informativo su ciò che è possibile con OTA e sui passaggi che è necessario adottare per eseguire il provisioning OTA.


0

I dispositivi iOS di serie sono "vulnerabili" all'esecuzione dell'utente che carica app Ad Hoc da qualsiasi sviluppatore che ha l'UDID di quel dispositivo e registra tale UDID tra i 100 dispositivi consentiti sul portale degli sviluppatori di Apple.

La distribuzione OTA è solo un altro modo per installare una distribuzione di test beta ad hoc da uno sviluppatore registrato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.