2014-10-03 11 views
9

La mia app è scritta con sencha touch 2.4 e utilizza l'ultima versione di cordova. Da iOS 8 ho riscontrato un problema con l'app in modo anomalo. Succede solo se chiudo completamente l'app e solo a volte. L'arresto anomalo sembra avvenire direttamente dopo che è stata visualizzata la schermata iniziale. Le icone di caricamento touch di sencha non appaiono e l'app si chiude semplicemente. Se provo ad aprire di nuovo l'app, funziona.L'app Sencha touch/cordova si blocca casualmente all'avvio in ios8

Uso localstorage praticamente per compilare il nome utente e tale, ho provato a rimuoverlo poiché ho letto che ha causato problemi ma non ha aiutato.

Edit: Dopo ulteriori indagini ora ottengo questo errore:

[UIViewAnimationState release]: message sent to deallocated instance 0x17675080 

Appare su un nuovo progetto di esempio Cordova/Sencha tocco, e con iOS 8. Qualche idea su quale possa essere la causa di questo? Ci sono dei suggerimenti su come posso eseguire il debug di questo problema?

Edit2: Sencha dice che non supporteranno ufficialmente ios8 prima della prossima versione, 2.4.1. http://www.sencha.com/forum/showthread.php?292883-Touch-2.4.0-apps-crashing-on-iOS8

Edit3: Penso di essere stato in grado di migliorare questo seguendo i consigli nel forum-filo collegato aboved. Ho aggiornato sencha touch, sencha cmd e cordova alla versione più recente e ho installato il plug-in splashscreen per cordova. Non ho avuto un arresto di avvio da quando, spero che questo abbia risolto il problema.

+0

Ok, questo sembra non direttamente correlato a 'Sencha Touch' eo' Cordova', come dimostra questo https://bugzilla.xamarin.com/show_bug.cgi?id=23667 rapporto bug su 'Xamarin'. 'Xamarin' è un framework' .NET' per creare app mobili native, quindi questo dimostra che non è un bug 'Cordova/PhoneGap', inoltre hanno riprodotto il bug che caricava una pagina Web nel WebView e questo dimostra che non è un' Sencha Touch 'bug. Sembra più probabile un bug 'JavaScriptCore'. –

risposta

3

Edit 24/03/2015

Abbiamo trovato questo plugin https://github.com/Telerik-Verified-Plugins/WKWebView che fissa i crash casuali utilizzando il nuovo WKWebView al posto del vecchio UIWebView.


Questo non sembra direttamente connesse Sencha Touch e o Cordova, in quanto questo bug report su Xamarin dimostra.

Xamarin è un framework .NET per costruire applicazioni mobili native, quindi questo significa che non è un bug Cordova/PhoneGap, inoltre il giornalista bug riprodotto nella pagina web bug caricamento http://www.xamarin.com in WebView e questo dimostra che non è un bug Sencha tocco . Dichiara che "sembra più probabile un errore di JavaScriptCore".

Il poster del bug report imposta alcuni test con una pagina web esterna, con l'app jQuery Mobile e con Sencha Touch scoprendo che le diverse pagine hanno fatto crashare l'applicazione con tariffe diverse, in particolare la semplicissima applicazione jQuery Mobile era il più stabile dei tre.

così ho cercato di rimuovere tutte le librerie esterne dalla mia applicazione Sencha app.json (ha usato per dipendere da Chart.js, jQuery, e alcune altre biblioteche) e ho notato che senza includere loro l'applicazione era diventato molto più stabile.

Ho riscritto le parti di codice che necessitavano di quelle librerie, reimplementando le funzionalità in plain Javascript e ho fatto alcuni test, scoprendo che mentre con le librerie esterne caricate andava in crash 1/2 volte, la versione più leggera andava in crash circa 1/50 dei tempi (queste statistiche sono state acquisite iniziando l'app 50 volte con ogni versione).

Questi test sembrano suggerire che il bug sia correlato al peso della pagina caricata nella vista Web, più è leggera la pagina, meno è probabile che si verifichi un arresto anomalo.

Spero che questo possa aiutare, almeno a migliorare la stabilità della tua applicazione fino a quando Apple non risolverà la WebView.