2016-04-07 9 views
8

私の問題:私は開発してい イオンアプリは、のUIWebViewは、私はそれをスピードアップする方法を犯人探していますされて発見した後、恐ろしく遅いですWKWebViewは最も有望なソリューションです。私のプロジェクトがどのように見えるかも、基本的なイオンプロジェクトは、白い画面を生成

:現在のコルドバでサンプルのイオンプロジェクト(例えばhttp://ccoenraets.github.io/ionic-tutorial/install-ionic.html)を設定すると は、CLI(私はイオン1.2.4を使用しています)のUIWebViewがデフォルトとして使用されている4.1.0。ただし、Cordova 4以来、新しく高速なWKWebViewは、少なくともiOS 9(cordova 4 supports WKWebView)ではすぐにサポートされ、強制的に使用することができます。

私は&が設定使用プラグイン: cordova plugin add cordova-plugin-wkwebview-engineを介して支持体は、(9.3今)のiOSプラットフォーム用に追加されます。このプラグインが追加され、適切に私がこれまで試したどのような

<feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

とconfig.xmlに設定されている場合:ターミナルionic build ios 、そして成功の構築、および上XCodeの7.3経由でアプリをインストールするときOS X El Capitan 10.11.3コンソールログでUsing WKWebViewというメッセージが表示されますが、スプラッシュスクリーンの直後に、アプリケータのコンテナが白い画面に消えます。そのプラグインを削除すると、すぐにUIWebViewが使用され、アプリケーションは期待どおりに動作します。

代替::元のプラグインwkwebview-engine-localhostをローカルホストに統合したものに置き換えて動作します。私が理解したように、WKWebviewは、私が必要としないiOS 8をサポートするために開発された統合サーバでいくつかの "labs plugin"に頼ることなく、私は、WKWebViewは古いUIWebViewと比較してかなりの制限があることを理解しています。特にknown issuesという文を扱うときには特に役に立ちます。 Webviewの簡単な速度向上を実現するには、より良い方法が必要です。

私はおそらく、すべてのソリューション、設定、プラグインの組み合わせ、cordova cliバージョンのダウングレード(WKWebViewサポートのための最小4.0.0)、キャッシュのクリア、デバイスのリセットと再起動、新しいインストールとプラットフォームコードの更新、npm、様々なプラグインですが、それらのすべては上記のapache labsプラグインを除いてまったく役に立たなかったか、何も変更しなかった巨大な混乱のようでした。

私のローカルSafari経由でデバイス上のiosアプリケーションをリモートでデバッグすると、bodyタグが空のままであるか、角度要素の単純な「ng-view」プレースホルダが表示されていることがわかります。 WKWwebViewでコードワーバを処理する方法で、ファイル/角形スクリプトの取得に問題があるはずであることを修正していますか?

注:白い画面が表示されますXCodeの上、実際のデバイスに配備する場合にのみ、アプリ自体は、どちらかionic serveまたはionic emulate iosと、正常に動作します(ionic run iosが動作しないので、それは別の話です)。

私にはlocalhost + wkwebviewプラグインを使用するか、ユーザーの速度が遅くなっているように見えるので、助けてください。

ありがとうございます!

答えて

1

私はCrossWalk for IOSを使用していますが、WkWebViewの実装が実装されています。

https://crosswalk-project.org/documentation/ios.html

その背後にある固体支持があるので、このプロジェクトは、インテルでサポートされています。

もう一つのオプションは、Telerikによって開発されたWKWebViewでスワップする次のプラグインをインストールすることです。

https://github.com/Telerik-Verified-Plugins/WKWebView

コルドバも同様にプラグインでWKWebView支持に移動しています。 WKWebViewのサポートはひどいです。それはiOS7で出て以来、バグでいっぱいです。それはゆっくりと各iosのリリースを修正しています。

これは、iOS 10がいくつかの改善を望んでいることを示しています。

+0

感謝 - あなたはイオンプロジェクトでiOS用横断歩道を統合し成功を収めていますか?彼らのウェブサイトでhttp://ionicframework.com/docs/cli/browsers.htmlそれは現在、彼らはAndroidのみで代替ブラウザをサポートしていると言います.. Telerikについて:それは4.xの代わりにcordova 3.xを必要とします。私のプロジェクトには他の問題があり、iOS 8もサポートしていないので、まだ賢明な選択肢ではないようです - 昨日のWWDCの後にWKWebView(cordovaによる)のサポートが増加することを願っています。 – hajn

+0

このスレッドは、現在のWKWebViewよりも本当の利点がないため、iOS用のクロスウォークをサポートするコードブラウザプラグインがないことを示しています。http://stackoverflow.com/questions/33792527/cordova-crosswalk-ios-still- using-uiwebview – hajn

9

私はWKWebviewで動作するionic2プロジェクトを手に入れました。私は私が撮ったの手順は同様ionic1のために働いていると思う:

1)WKWebviewプラグインのインストール:

ionic plugin add cordova-plugin-wkwebview-engine

2)ローカルWebサーバプラグインをインストールします。

ionic plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugins.git#master:local-webserver

3) config.xmlに次のように追加/変更してください。

...

<content src="http://localhost:8080" /> 

...

<allow-navigation href="gap://ready" /> 
<allow-navigation href="http://localhost:*" /> 

...いくつかのリンクを示唆するために時間を割いて

<feature name="CDVWKWebViewEngine"> 
    <param name="ios-package" value="CDVWKWebViewEngine" /> 
</feature> 
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> 
+0

ありがとう!それは私のために働いた! @ Ionic 2 – Edgar

+0

私たちにとっては、iOS9でこのアプローチを実行すると、画面が空白になります。何か案は? –

+0

素晴らしい、私のためにも働いた。 localhostプラグインを使用すると、WKWebviewのパフォーマンスが大幅に低下するかどうか知りませんか? – ghego1

関連する問題