2014-10-03 5 views
9

Meine App ist mit Sencha Touch 2.4 geschrieben und verwendet die neueste Version von Cordova. Seit iOS8 habe ich ein Problem damit, dass die App zufällig abstürzt. Es passiert nur, wenn ich die App komplett schließe und nur manchmal. Der Absturz scheint direkt nach dem Startbildschirm zu geschehen. Die Sencha Touch Loading Icons erscheinen nicht und die App wird einfach geschlossen. Wenn ich versuche, die App erneut zu öffnen, funktioniert es.Sencha Touch/Cordova App stürzt beim Start in ios8 zufällig ab

Ich benutze localstorage so ziemlich sofort, um Benutzernamen zu füllen und so, ich habe versucht, es zu entfernen, da ich es gelesen Probleme verursacht, aber es hat nicht geholfen.

Edit: Nach mehr Untersuchung jetzt habe ich diesen Fehler:

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

Es basiert auf einem völlig neuen cordova/Sencha Touch-Beispielprojekt, und mit iOS8 erscheint. Irgendeine Idee, was die Ursache dafür sein kann? Gibt es irgendwelche Tipps, wie ich dieses Problem debuggen kann?

Edit2: Sencha sagt, dass sie ios8 offiziell nicht vor der nächsten Version 2.4.1 unterstützen werden. http://www.sencha.com/forum/showthread.php?292883-Touch-2.4.0-apps-crashing-on-iOS8

Edit3: Ich denke, dass ich in der Lage war, diese aboved verbunden durch Anschluss an die Beratung im Forum-Thread zu verbessern. Ich habe Sencha Touch, Sencha Cmd und Cordova auf die neueste Version aktualisiert und das Splashscreen-Plugin für Cordova installiert. Ich hatte seither keinen Startup-Absturz, der das Problem hoffentlich behoben hat.

+0

Ok, das scheint nicht direkt mit 'Sencha Touch' und oder' Cordova' zu tun, wie dieser https://bugzilla.xamarin.com/show_bug.cgi?id=23667 Fehlerbericht zu 'Xamarin' beweist. 'Xamarin' ist ein' .NET' Framework um native mobile Apps zu erstellen, dies beweist, dass es kein 'Cordova/Phonegap' Bug ist, zusätzlich haben sie den Fehler beim Laden einer Webseite in das WebView reproduziert und dies beweist, dass es kein 'Sencha Touch' ist 'Fehler. Es scheint eher ein 'JavaScriptCore' Bug zu sein. –

Antwort

3

bearbeiten 24/03/2015

Wir haben dieses Plugin https://github.com/Telerik-Verified-Plugins/WKWebView gefunden, die anstelle der alten UIWebView der zufälligen Abstürze mit dem neuen WKWebView behebt.


zu Sencha Touch Dies scheint und oder Cordova nicht direkt, da dies bug report auf Xamarin beweist.

Xamarin ist ein .NET-Framework zum Erstellen nativer mobiler Apps. Dies bedeutet, dass es kein Cordova/Phonegap-Bug ist. Zusätzlich hat der Bugreporter die Bug-Lade http://www.xamarin.com in das WebView übernommen und dies beweist, dass es kein Sencha Touch Bug ist . Er stellt fest, dass "es eher ein JavaScript-Fehler scheint".

Das Poster des Bug-Berichts eingerichtet einige Tests mit einer externen Webseite, mit jQuery Mobile App und mit Sencha Touch feststellen, dass die verschiedenen Seiten die Anwendung zum Absturz mit verschiedenen Raten, insbesondere die sehr einfache jQuery Mobile-Anwendung war der stabilere der drei.

Also habe ich versucht, alle externen Bibliotheken von meiner Sencha Anwendung zu entfernen app.json (früher auf Chart.js abzuhängen, jQuery und einige andere Bibliotheken) und ich bemerkte, dass sie die Anwendung ohne einschließlich viel mehr stabil geworden war.

Ich habe die Teile des Codes, die diese Bibliotheken benötigt, umgeschrieben, die Funktionen in einfachem Javascript neu implementiert und ich machte einige Tests, herauszufinden, dass mit den geladenen externen Bibliotheken stürzte die Hälfte der Zeiten, die leichtere Version abgestürzt über 1/50 der Zeiten (diese Statistiken wurden erworben, beginnend mit der App 50 Mal mit jeder Version).

Diese Tests scheinen darauf hinzudeuten, dass der Fehler auf das Gewicht der Seite zurückzuführen ist, die in die Webansicht geladen wird. Je leichter die Seite ist, desto weniger wahrscheinlich ist der Absturz.

Ich hoffe, das könnte helfen, zumindest die Stabilität Ihrer Anwendung zu verbessern, bis Apple das WebView behebt.