2014-09-18 11 views
8

Per tutte le versioni precedenti di iOS, ho utilizzato l'URL itms-services: // per installare le app iOS di prova over-the-air (OTA). Ora, tutti i miei dispositivi con iOS8 falliscono quando provo ad installare app utilizzando questo approccio. Esempio URL:L'installazione over-the-air (OTA) non riesce per l'app iOS8 utilizzando l'URL di servizi-itms

itms-services://?action=download-manifest&url=https://myWebsite/myApp/myApp.plist 

Sintesi di problema:

  1. Il browser Safari utilizzato per lanciare l'installazione da una pagina web non non uscita sulla schermata principale che mostra l'applicazione si installa come prima nelle versioni precedenti di iOS
  2. L'applicazione non viene installata correttamente. Si installa, ma rimane come un'icona grigia e l'app non verrà avviata.
  3. Questo problema non si verifica sui dispositivi iOS7 esistenti, con URL identici.
+0

Eventualmente correlato? http://stackoverflow.com/questions/25772664/enterprise-app-update-distribution-on-ios-8 – ahruss

+0

Ho appena testato la mia app tramite testflightapp e funziona perfettamente. Se non sbaglio, il servizio utilizza il stesso modo di distribuzione. – razor28

+0

hai guardato l'output della console per vedere quali (eventuali) errori vengono segnalati? Ho usato questo metodo per rintracciare i problemi con 'itms-services' si manifesta alcune volte in iOS7 ed è stato molto utile – liamnichols

risposta

8

Questo sembra essere un bug nelle versioni Beta5 e GM di iOS8.

Su Buildozer abbiamo trovato una soluzione alternativa: modificare l'identificativo del pacchetto dell'app nel file manifest. (Maggiori dettagli: https://buildozer.io/ios8)

Una soluzione che non prevede la modifica dei file manifest è quella di ripristinare l'intero dispositivo dal backup, tuttavia riteniamo che il manifest "hack" sia meno disastroso per gli utenti.

+1

questo bug è stato risolto con l'aggiornamento iOS 8.0.2? – user1890316

+1

No, purtroppo NON è stato corretto con iOS 8.0.2 - Sono ancora in grado di riprodurre l'errore su quella versione. –

+0

Ciao. Ho dato un'occhiata al link sopra, https://buildozer.io/ios8. indica l'aggiunta di -iOS8 "da qualche parte". Potresti essere più specifico, il link itms utilizzato per scaricare il file ipa o il file plist stesso? Ho questi problemi Ho 160 persone che si trovano in uno stato misto. Alcuni con iOS 8.1 e versioni precedenti, alcuni che possono e non possono scaricare la nostra app. Molto strano. Nessun modello diverso dai telefoni è in gran parte ok, ma gli iPad sono il problema principale. Aiuto? –

7

Questo answer mi ha aiutato a risolvere il problema. Sembra che per iOS8 devi includere nella chiave assets del file manifest .plist le chiavi display-image e full-size-image. Erano disponibili in Xcode 5 quando si salvava un archivio per un'implementazione enterprise e add-hoc, ma non era necessario.

Ho creato un gist su github con il modello per il file install-manifet.plist. Il post originale è disponibile su http://www.informit.com/articles/article.aspx?p=1829415&seqNum=16.

+1

Questo ha funzionato per me una volta sola per iOS 8.1. Distribuzione aziendale acc. Dopo questo non ha mai funzionato di nuovo. –

4

Per quanto ne sappiamo, questo problema non è ancora stato risolto in iOS 8.1 e abbiamo scoperto che questa soluzione causerà alcuni effetti collaterali. Dopo che i dispositivi iOS 7.0.x utilizzano questo metodo per installare le app inHouse, anche se l'app è stata installata con successo ma la schermata iniziale ha lasciato un quadrato nero e non può essere eliminata.

Devi separare il metodo di installazione tra iOS8 e altre versioni iOS, il che significa che cambi il metodo di installazione in iOS8 e mantieni il metodo di installazione originale in un'altra versione.

3

Ho avuto lo stesso problema. Nel mio caso il problema è stato risolto quando:

  • il plist è stato servito da HTTPS
  • dell'IPA è stata servita dalle HTTPS dallo stesso dominio come il plist
  • full-size-immagini e la visualizzazione immagine sono presente nel plist
0

Abbiamo avuto lo stesso problema. La nostra causa era che TestFlight aveva installato il pacchetto in precedenza. Sembra che TestFlight abbia (avuto) un profilo installato e solo che possa aggiornare le app, anche se sono state disinstallate e cancellate.

Una soluzione alternativa era aggiungere un suffisso all'identificatore del pacchetto nel plist.

Questo ovviamente ha causato un altro problema, che un'icona secondaria veniva visualizzata fino al completamento del download e l'IPA è stato decompresso e abbinato all'app già presente sul dispositivo.

BIG AVVISO: questo è solo un problema con iOS8, quindi è meglio controllare lo user-agent durante il download. Sarà itunesd e conterrà l'esatta versione di iOS.