2014-10-08 13 views
9

La visualizzazione dell'app di estensione di azione iOS 8 include UIWebView. Quando apro questa estensione di azione in Safari, l'app di estensione mostra UIWebView dell'URL di Safari per dispositivi mobili.UIWebView iOS 8 Azione Arresto anomalo in Safari mobile iOS 8

Ma l'applicazione di estensione si blocca a volte durante il caricamento della pagina Web o lo scorrimento per alcune pagine Web come nytimes.com.

So che la memoria utilizzabile dell'app di estensione dipende da Safari mobile.

Ma ho trovato che "Screenshot impressionante per Safari" non si blocca. (https://itunes.apple.com/us/app/awesome-screenshot-for-safari/id918780145)

Mi chiedo come evitare l'arresto anomalo dell'app di estensione di azione.

+0

hai qualche registro errori? – ytbryan

+0

Va bene in modalità Simulatore o Debug, ma a volte si blocca in modalità reale. Non ho alcun codice per l'estensione app, appena sopra i codici. – dobiho

+0

Ho il problema ESATTAMENTE SANO SUPER ANCORA e ho aspettato per anni di commentare in questo post fino a quando ottengo 50 punti :). Hai avuto qualche soluzione per questo? Nel caso di maggio, sospetto che sia il limite di allocazione per JavaScript a 10 MB (vedere [qui] (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/index.html#// apple_ref/OCC/INSTM/UIWebView/stringByEvaluatingJavaScriptFromString :)). Sai se i siti su cui si sta verificando un arresto anomalo hanno qualche attività JS in più. – Antenehs

risposta

1

Ho riscontrato lo stesso problema, utilizzando UIWebView in background per analizzare alcuni contenuti per la mia app. Ha funzionato bene quando ero connesso al debugger. Ma eseguire la stessa build senza che il debugger si arrestasse sempre.

Ho risolto il problema migrando a WKWebView, che in realtà era piuttosto semplice. Immagino che UIWebView sia troppo vecchio e poco efficiente per essere eseguito in un'estensione all'interno di Safari. L'utilizzo di WKWebView ha funzionato perfettamente.

Ho quindi rilevato un arresto anomalo quando ho finito di utilizzare la visualizzazione Web e stavo salvando i miei dati. Lo stavo salvando su NSUserDefaults (usando il contenitore del mio gruppo) per passare all'app principale. Anche questo si è verificato in modo anomalo, quindi ho rimosso quel codice. Alla fine ho usato CoreData, che ha funzionato bene.

Ora ho un'estensione Safari senza crash! :)

+0

Aveva lo stesso problema, il passaggio a WKWebView l'ha risolto. Grazie! –