Die App "Sencha touch / cordova" stürzt beim Start in ios8 zufällig ab

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.

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

Bearbeiten: Nach mehr Nachforschungen bekomme ich nun diesen Fehler:

%Vor%

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

Bearbeiten2: Sencha sagt, dass sie ios8 offiziell vor der nächsten Veröffentlichung nicht unterstützen werden, 2.4.1. Ссылка

Bearbeiten3: Ich denke, dass ich dies verbessern konnte, indem ich dem Rat in dem oben verlinkten Forum-Thread folgte. Ich habe Sencha Touch, Sencha Cmd und Cordova auf die neueste Version aktualisiert und das Splashscreen-Plugin für Cordova installiert. Ich hatte keinen Startup-Absturz seit, hoffentlich hat dies das Problem behoben.

    
Jarle Hansen 03.10.2014, 06:08
quelle

1 Antwort

3

Bearbeiten 24/03/2015

Wir haben dieses Plugin Ссылка gefunden, das die zufälligen Abstürze mit dem neuen WKWebView anstelle des alten UIWebView behebt.

Dies scheint nicht direkt mit Sencha Touch und Cordova zu tun zu haben, wie der Fehlerbericht zu Xamarin beweist .

Xamarin ist ein .NET-Framework, mit dem native mobile Apps erstellt werden können. Dies bedeutet, dass es kein Cordova / Phonegap-Bug ist, zusätzlich reproduziert der Bugreporter den Bug, der geladen wurde Ссылка Webseite in das WebView und dies beweist, dass es kein Sencha Touch Bug ist. Er stellt fest, dass "es eher ein JavaScript-Fehler ist".

Das Poster des Fehlerberichts hat einige Tests mit einer externen Webseite durchgeführt, wobei die jQuery Mobile App und Sencha Touch festgestellt haben, dass die verschiedenen Seiten die Anwendung mit unterschiedlichen Raten zum Absturz gebracht haben, insbesondere die sehr einfache jQuery Mobile Anwendung stabiler von den drei.

Also habe ich versucht, alle externen Bibliotheken aus meiner Sencha-Anwendung app.json zu entfernen (früher war es abhängig von Chart.js , jQuery und einigen anderen Bibliotheken) und ich bemerkte, dass die Anwendung ohne sie zu viel mehr stabil.

Ich habe die Code-Teile, die diese Bibliotheken benötigten, umgeschrieben, die Funktionen in einfachem Javascript neu implementiert und einige Tests durchgeführt. Während die geladenen externen Bibliotheken 1/2 Mal gestürzt sind, stürzte die leichtere Version um 1 ab / 50 der Zeiten (diese Statistiken wurden erworben, beginnend mit der App 50 Mal mit jeder Version).

Diese Tests scheinen darauf hinzudeuten, dass der Fehler mit dem Gewicht der Seite zusammenhängt, die in die Webansicht geladen wird. Je leichter die Seite ist, desto weniger wahrscheinlich ist der Absturz.

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

    
Andrea Casaccia 29.10.2014 11:12
quelle

Tags und Links