html5-Cordova iOS 9上WKWebView的状态?

iOS 8引入了WKWebView,这是一种用于iOS的现代化Web视图,具有更多功能,尤其是针对Javascript代码的JIT编译可显着提高性能。

但是,iOS 8上的WKWebView有一些错误,默认情况下阻止Cordova使用它。 AFAIK有一些可以使用它的插件,但是它们都说“ beta”,“ incomplete”等。据我所知,iOS 9修复了停止Cordova在iOS 8中默认为WKWebView的错误。

那么,iOS 9的Cordova中WKWebView的状态是什么? 我似乎找不到任何有关此的信息。 Cordova是否在iOS 9上默认为WKWebView? 如果不是,为什么不可以正式启用它呢?

1个解决方案
59 votes

新编辑:2019年6月

苹果尚未在iOS 13 Beta中删除cordova-plugin-wkwebview-engine,因此看起来至少可以使用一年。

从3.0.0版开始的Ionic WebView插件不再使用Web服务器,而是使用cordova-plugin-wkwebview-engine,该服务器需要放弃对iOS 10和更早版本的支持。

仍然将大多数修复程序向后移植到2.x分支,这些分支仍然具有要支持iOS 10的Web服务器。

WKWebView尚未集成到cordova-ios 5.0.0中,仍需要使用插件才能使用。 对于6.0.0版本应该存在。

现在有可用的离子电容器,这是从一开始就使用cordova-plugin-wkwebview-engine构建的Apache Cordova替代品。 它具有自己的插件集,但也与大多数Cordova插件兼容。[https://capacitor.ionicframework.com/]

旧版编辑:2018年8月

Apple已在iOS 12中弃用cordova-plugin-wkwebview-engine,并可能会在iOS 13中将其删除。

Apache Cordova已宣布将在下一个主要版本(5.x.x)中将cordova-plugin-wkwebview-engine集成到GCDWebServer中,但WKWebView仍将正常工作,并且是默认版本。 另外,您将能够在运行时在它们之间切换以轻松测试您的应用程序。在将来的版本中,它将删除整个UIWebView代码,而WKWebView将是唯一的选择。

但是cordova-plugin-wkwebview-engine仍然有很多问题。 我仍然建议使用cordova-plugin-ionic-webview,因为使用GCDWebServer解决了大多数WKWebView问题。

新编辑:2017年11月

Ionic团队已经发布了一个新的WKWebView插件,它不再是Cordova的分支,而在内部使用cordova-plugin-wkwebview-engine并解决了大多数Cordova插件已知的问题。

新编辑:2016年8月24日

更新只是为了添加由ionic框架团队创建的apache的cordova-plugin-wkwebview-engine插件的分支,该插件对插件进行了一些增强。

[HTTPS://GitHub.com/drift用co/Cordova-plugin-WK Web view-engine]

这些增强功能可能很快就会投放到核心插件上,但是您现在可以看看并测试离子叉。

新编辑:2015年12月9日

科尔多瓦iOS 4.0.0已发布和cordova-plugin-wkwebview-engine的1.0.0版本

尝试一下:

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并存在一些已知问题

如果您也想支持iOS 8,则可以使用Telerik的wkwebview-engine-localhost(实验性)或cordova-plugin-wkwebview,它们都使用本地Web服务器

[HTTPS://GitHub.com/Apache/Cordova-plugins/tree/master/WK Web view-engine-localhost]

旧消息:

您可以使用可用的WKWebView插件将WKWebView与cordova一起使用。

您提到的问题是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/既然啊/browse/CB-9566]

[HTTPS://issues.Apache.org/既然啊/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://]网址,并且仅适用于iOS 9。 在非iOS 9设备上, cordova-ios将回退到使用UIWebView。

该插件的旧版本使用本地网络服务器加载您的 主文件。 这个旧的插件可以在您想使用的地方使用 在iOS 8和iOS 9部署中均可使用WKWebView,但该插件将 仍然是科尔多瓦实验室的实验。 这个插件有一些重构 要完成的工作。

jcesarmobile answered 2020-08-10T17:26:39Z
translate from https://stackoverflow.com:/questions/32405798/state-of-wkwebview-on-cordova-ios-9