even Ionic-Basisprojekt mit Cordova WKWebview Engine-Plugin erzeugt weißen Bildschirm
Mein Problem Die ionische App, die ich entwickle, ist schrecklich langsam. Nachdem ich herausgefunden habe, dass UIWebView der Schuldige ist, suche ich nach Möglichkeiten, sie zu beschleunigen. WKWebView ist die vielversprechendste Lösung.
Wie sieht mein Projekt aus: Beim Einrichten eines Beispiel-Ionenprojekts http: //ccoenraets.github.io/ionic-tutorial/install-ionic.htm zum Beispiel) mit der aktuellen Cordova 4.1.0 CLI (ich verwende Ionic 1.2.4) UIWebView wird als Standard verwendet. Seit Cordova 4 wird das neue und schnellere WKWebView jedoch sofort unterstützt und kann zumindest in iOS 9 cordova 4 unterstützt WKWebView).
Das Plugin, das ich verwendet und konfiguriert habe: viacordova plugin add cordova-plugin-wkwebview-engine
Die Unterstützung für die iOS-Plattform wurde hinzugefügt (9.3 im Moment). Wenn dieses Plugin hinzugefügt und in der config.xml mit @ richtig konfiguriert wur
<feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
Was ich bisher versucht habe: Im Terminalionic build ios
, dann Build erfolgreich, und bei der Installation der App über XCode 7.3 unter OS X El Capitan 10.11.3 im Konsolenprotokoll dasUsing WKWebView
ie @ -Nachricht wird gedruckt, aber direkt nach dem Begrüßungsbildschirm wird der App-Container zu einem weißen Todesbildschirm. Sobald ich dieses Plugin entferne, wird UIWebView verwendet und die App funktioniert wie erwartet.
Alternativ: Ersetzen des ursprünglichen Plugins wkwebview-engine-localhost mit einem mit integriertem localhost, funktioniert. So wie ich es verstanden habe, sollte das WKWebview von Anfang an von Cordova und Ionic unterstützt werden, ohne auf ein "Labs-Plugin" mit integriertem Server angewiesen zu sein, das für die Unterstützung von iOS 8 entwickelt wurde, das ich nicht benötige. Ich verstehe, dass WKWebView im Vergleich zu der alten UIWebView einige Einschränkungen aufweist, insbesondere wenn es um die Handhabung von @ gehfile://
AussagenBekannte Problem, aber es muss auf jeden Fall jemanden da draußen geben, der Ionic + Cordova WKWebView zum Laufen gebracht hat, ohne all den Ärger, den ich hatte, oder? Es muss bessere Möglichkeiten geben, um eine einfache Geschwindigkeitsverbesserung für die Webansicht zu erzielen.
Ich habe wahrscheinlich jede Lösung ausprobiert, Config, Plugin-Kombination, Cordova CLI-Versions-Downgrade (mindestens 4.0.0 für WKWebView-Unterstützung), Caches löschen und mein Gerät zurücksetzen und neu starten, Neuinstallation und Auslesen von Plattformen und Aktualisierung von Cordova, npm, verschiedene Plugins, aber alle haben bis auf das Apache Labs-Plugin oben nicht geholfen oder wirkten wie ein riesiges Durcheinander, das nichts geändert hat.
Beim Debuggen der ios-App auf dem Gerät per Fernzugriff über meine lokale Safari kann ich im Elementbaum erkennen, dass das Body-Tag entweder leer bleibt oder ein einfacher Platzhalter für ein eckiges Element in der "ng-view" angezeigt wird. Stimmt es, dass es ein Problem beim Abrufen von Dateien / eckigen Skripten auf dem Weg gibt, auf dem Cordova über WKWwebView damit umgeht?
Hinweis: Die App selbst funktioniert einwandfrei, entweder mitionic serve
oderionic emulate ios
, nur bei der Bereitstellung auf einem realen Gerät über XCode (seitionic run ios
funktioniert nicht, aber das ist eine andere Geschichte) Der weiße Bildschirm wird angezeigt.
Jede Hilfe wird sehr geschätzt, da ich entweder das localhost + wkwebview-Plugin verwenden muss oder die Benutzer unter einer schlechten Geschwindigkeit leiden lassen muss.
Danke vielmals