2014-09-15 21 views
9

Sto integrando WKWebView alla nostra app. E vedi vari problemi. Il più fastidioso e bloccante è lo schermo bianco intermittente. Può essere attivato le mie molte cose, navigazione, zoom, ecc.WKWebView problema schermo vuoto intermittente

Quando esamino la gerarchia di viste all'interno di WKWebView, vedo che mancano molte sottoview. Quando collego un ispettore, l'HTML è caricato correttamente. E a volte, posso vedere un messaggio nel log della console:

Received an invalid message "RemoteLayerTreeDrawingAreaProxy.CommitLayerTree" from the web process. 

Abbiamo già depositato paio di radar ad Apple. Qualcuno ha avuto problemi simili e ha trovato una passeggiata?

risposta

20

WebProcess di WKWebView viene eseguito fuori processo come processo a 64 bit su hardware che supporta 64 bit. È presente un bug IPC di marshalling a 32 bit/64 bit per applicazioni a 32 bit che utilizza il client WKWebView su tale hardware. Il bug causa l'uscita di WebProcess, lasciando uno schermo vuoto.

È possibile verificare questo 1) eseguendo l'app su hardware che supporta solo 32 bit e supporta iOS 8 (ad esempio iPad 2) o creando una versione a 64 bit della propria app. (Può costruire una versione solo a 64 bit come test di sanità).

+1

Cool primo post! ';)' –

+0

Fantastico! Ho avuto un progetto che è stato impostato per costruire solo a 32 bit. Permettendo a 64 bit di risolvere un sacco di problemi che stavo avendo con WKWebView. – weiyin

+0

Sì. Apple ha confermato che c'è un tale bug. E stiamo solo costruendo 32 bit. È interessante notare che abbiamo avuto anche una riproduzione su un 4S, anche se non vedo il messaggio ma lo stesso schermo vuoto. Sembra che si riferisca allo stress della memoria. –