This plugin makes Cordova
use the WKWebView
component instead of the default UIWebView
component, and is installable only on a system with the iOS 9.0 SDK.
In iOS 9, Apple has fixed the issue present through iOS 8 where you cannot load locale files using file://, and must resort to using a local webserver. However, you are still not able to use XHR from the file:// protocol without CORS enabled on your server.
This plugin needs to use at least cordova-ios 4.0.0.
To test this while it is still in development:
cordova create wkwvtest my.project.id wkwvtest
cd wkwvtest
cordova platform add https://github.com/apache/cordova-ios.git#master
cordova plugin add https://github.com/apache/cordova-plugin-wkwebview-engine.git#master
Once cordova-ios 4.0.0 and the plugin is released on npm, you can just do:
cordova create wkwvtest my.project.id wkwvtest
cd wkwvtest
cordova platform add ios@4
cordova plugin add cordova-plugin-wkwebview-engine
You also must have Xcode 7 (iOS 9 SDK) installed. Check which Xcode command-line tools is in use by running:
xcode-select --print-path
On an iOS 8 system, Apache Cordova during runtime will switch to using the UIWebView engine instead of using this plugin. If you want to use WKWebView on both iOS 8 and iOS 9 platforms, you will have to resort to using a local webserver.
We have an experimental plugin that does this. You would use that plugin instead of this one.
The next released version of the cordova-cli 5.4.0 will support automatic conversion of the <access> tags in config.xml to Application Transport Security ATS directives. Upgrade to the version 5.4.0 to use this new functionality.
If you are upgrading from UIWebView, please note the limitations of using WKWebView as outlined in our issue tracker.
The AllowInlineMediaPlayback
preference will not work because of this Apple bug.
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
- iOS