iOS 8はWKWebViewを導入しました。WKWebViewは、より多くの機能、特にパフォーマンスを大幅に改善するJavascriptコードのJITコンパイルを備えたiOS用の最新のWebビューです。
ただし、iOS 8上のWKWebViewには、デフォルトでCordovaがそれを使用するのを妨げるいくつかのバグがありました。知っている限り、それを使用できるプラグインがありますが、それらはすべて「ベータ」、「不完全」などと言っています。
では、iOS 9のCordovaのWKWebViewの状態はどうなっているのでしょうか?これに関する情報を見つけることができないようです。 CordovaはiOS 9でWKWebViewをデフォルトにしていますか?そうでない場合、なぜ別の方法で公式に有効化できますか?
新しい編集:2019年6月
AppleはiOS 13ベータ版でUIWebView
を削除していないため、少なくとも1年は使用できるようです。
Ionic WebViewプラグインはバージョン3.0.0以降、Webサーバーを使用しなくなりましたが、代わりにWKURLSchemeHandler
がiOS 10以前のサポートを終了するために必要になりました。
IOS 10をサポートしたい人のためのWebサーバーをまだ持っている2.xブランチへのほとんどの修正をバックポートします。
WKWebViewはcordova-ios 5.0.0に統合されていません。それを使用するにはプラグインが必要です。 6.0.0バージョンには存在するはずです。
そして、現在、IonicCapacitor)、WKWebView
で構築されたApache Cordovaの代替品が利用可能です。独自のプラグインのセットがありますが、ほとんどのCordovaプラグインとも互換性があります https://capacitor.ionicframework.com/
古い編集:2018年8月
AppleはiOS 12でUIWebView
を廃止しました。おそらくiOS 13で削除します。
Apache Cordova 発表済み は、cordova-plugin-wkwebview-engine
into cordova-ios
は次のメジャーリリース(5.x.x)で使用されますが、UIWebView
は引き続き機能し、デフォルトのものになります。また、実行時にそれらを切り替えて、アプリを簡単にテストすることができます。将来のリリースでは、UIWebView
コード全体が削除され、WKWebView
が唯一のオプションになります。
だが cordova-plugin-wkwebview-engine
はまだ多くの問題を抱えています。 GCDWebServer
を使用するとWKWebView
の問題のほとんどが解決されるため、 cordova-plugin-ionic-webview を使用することをお勧めします。
新しい編集:2017年11月
Ionicチームは 新しいWKWebViewプラグイン を開始しました。これはCordovaのフォークではなく、GCDWebServer
を内部で使用し、Cordovaプラグインの既知の問題のほとんどを克服しています。
新しい編集:2016年8月24日
プラグインにいくつかの拡張機能を追加するionicフレームワークチームによって作成されたApacheのWKWebView
プラグインのフォークを追加するために更新されました。
https://github.com/driftyco/cordova-plugin-wkwebview-engine
拡張機能はおそらくすぐにコアプラグインに組み込まれますが、今すぐ見て、ionic forkをテストしてください。
新しい編集:2015年12月9日
cordova ios 4.0.0 リリース済み および バージョン1.0.cordova-plugin-wkwebview-engine
試すには:
cordova create wkwvtest my.project.id wkwvtest
cd wkwvtest
cordova platform add ios@4
cordova plugin add cordova-plugin-wkwebview-engine
既に述べたように、cordova-plugin-wkwebview-engineはiOS 9のみをサポートし、iOS 8ではUIWebViewを使用し、いくつかの know issues
IOS 8もサポートしたい場合は、Telerikの wkwebview-engine-localhost (実験的)または cordova-plugin-wkwebview を使用できます。どちらもローカルを使用しますウェブサーバー
https://github.com/Apache/cordova-plugins/tree/master/wkwebview-engine-localhost
古いメッセージ:
利用可能なWKWebViewプラグインを使用して、cordovaでWKWebViewを使用できます。
あなたが言及する問題は、WKWebViewがローカルファイルをロードできないため、プラグインがローカルWebサーバーを使用して問題を回避することです。
Telerik https://github.com/Telerik-Verified-Plugins/WKWebView (Webサーバーが組み込まれている)またはCordovaチームのオフィシャル https://github.com/Apache/cordova-plugins/tree/master/wkwebview-engine-localhost (依存プラグインとしてWebサーバーを使用)
あなたが言及したバグはiOS 9で修正されているため、現在のcordovaプラグイン(Webサーバーを使用してiOS 8およびiOS 9と互換性があります)はwkwebview-engine-localhostに変更され、現在の名前はcordova-plugin-wkwebview-engineになりましたiOS 9のみをサポートし、Webサーバーを使用しない新しいプラグインに使用されます
ここで問題を確認して進捗を追跡できます
https://issues.Apache.org/jira/browse/CB-9566
https://issues.Apache.org/jira/browse/CB-9567
編集:ニュースをもたらします https://shazronatadobe.wordpress.com/2015/09/09/Apache-cordova-ios-4-0-0-and-wkwebview-support/
WKWebViewのサポート
Cordova-plugin-wkwebview-engineプラグインはiOS 9のみであり、コアプラグインになります。この更新されたプラグインの開発はまだ進行中です。 Appleはfile:// urlsからドキュメントをロードできなかったバグを修正しました。これはiOS 9のみです。iOS9以外のデバイスでは、cordova-iosはUIWebView。
このプラグインの古いバージョンでは、ローカルWebサーバーを使用してメインドキュメントを読み込みました。この古いプラグインは、iOS 8とiOS 9の両方の展開でWKWebViewを使用する場合に使用できますが、プラグインはCordova-Labs実験として残ります。このプラグインには、リファクタリング作業がいくつかあります。