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à?
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à?
Risposte:
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.
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.
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 .
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 UDID
nome del telefono, ...
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.
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.