2014-11-19 5 views
9

Also habe ich diese Cordova 4.0 App gebaut, die auf Android gut funktioniert, aber wenn ich auf meinem iPhone laufe, laufe ich auf einen Fehler."Zurücksetzen von Plugins aufgrund der Seitenlast" beim Starten von Cordova App auf dem iPhone

Beim Start der App erhalte ich einen weißen Bildschirm etwa zwei Minuten und in der Xcode-Konsole sagt es Resetting plugins due to page load.

Auf SO habe ich diese Fehler einige vorgeschlagenen Lösungen gefunden:

1. Resetting plugins due to page load

Dieser sieht vernünftig aus, weil er vorschlägt, dass es ein Problem mit jQuery Mobile ist, das ich verwende. Jedoch verwende ich $.changePage(); nirgendwo in meinem Code. es würde auch scheinen, dass diese 4.0 in Cordova gelöst https://issues.apache.org/jira/browse/CB-2602

2. Phonegap/Cordova 3.1 Resetting plugins due to page load

Dies kommt zu dem Schluss, dass dies durch eine Fehlermeldung ignorieren. In meinem Fall kann ich diese zwei Minuten weißen Bildschirm nicht wirklich ignorieren.

Hier ist der Code, der auf app-Last geladen wird: http://pastebin.com/zSAYkdUB

Was kann getan werden?

+1

Welche Version von JQM verwenden Sie ???. Wenn 1.4.5 auf 1.4.3 sinkt, um zu sehen, ob das Problem weiterhin besteht. – Tasos

+0

@Tasos Ich habe 1.3.2 aus irgendeinem Grund verwendet. Sie empfehlen dann, auf 1.4.3 zu aktualisieren? –

+1

Das Neueste ist 1.4.5. Nun, es hängt davon ab, wie groß und komplex deine App ist. Seit Version 1.3 gab es viele Änderungen, daher kann es einige Zeit dauern, bis Ihre App in Version 1.4.5 läuft. Ich empfehle, ein neues Projekt zu starten und deine App von Neuem zu erstellen. Besuchen Sie auch die Demo-JQM-Seiten. Es dauert nicht lange, wenn Ihre Plugins mit Jquery (1.11.1) kompatibel sind. – Tasos

Antwort

3

Diese Nachricht wird in jeder Cordova iOS App angezeigt. (Versuchen Sie es mit der Beispielanwendung.) Es wird gedruckt, wenn das WebView mit dem Laden von Ressourcen beginnt. Siehe den Code here.

Es feuert auch die CDVPluginResetNotification zur gleichen Zeit, die onReset auf allen Plugins aufruft. Gemäß der code sollte diese Methode überschrieben werden, um lange laufende Anfragen abzubrechen, wenn die Webansicht aktualisiert wird.

Verwandte Themen