iOS UIWebView停用。这对Cordova应用有什么影响?

14

苹果正在iOS 12中废弃UIWebView。(https://cordova.apache.org/news/2018/08/01/future-cordova-ios-webview.html)

我有一个Cordova应用程序,对于这个变化我有几个问题:

  1. 我如何知道我的应用程序是否在使用UIWebView?
  2. 预计苹果将会多久彻底移除UIWebView?
  3. 目前对于Cordova应用程序,推荐安装WKWebView引擎插件。根据自述文件,我只需要安装此插件即可使Cordova使用WKWebView。是真的这么容易吗?添加此插件后,我只需构建并测试,就可以确保应用程序仅使用WKWebView了吗? https://github.com/apache/cordova-plugin-wkwebview-engine
2个回答

14
如果您使用cordova-ios 5.x或更低版本且没有任何框架,则默认情况下将使用UIWebView。如果您使用cordova-ios 6.0.0或更新版本,则使用WKWebView。如果您使用Ionic,则默认情况下使用自己的WKWebView插件(如果您使用Ionic CLI启动应用程序)。如果您在应用程序启动时阅读日志,它将显示“Using UIWebView”、“Using WKWebView”或“Using Ionic WebView”或其他类似的消息。
“弃用”只意味着它将来会消失,我们无法知道什么时候,但在iOS 12中使用它是安全的,并且在iOS 13上也没有被删除。但是,您应该尽快开始迁移。 当提交应用程序时,Apple已经开始显示警告,即使您不再使用UIWebView,因为cordova-ios具有UIWebView代码,并且即使您切换到WKWebView,它也存在于您的应用程序中。 现在只是一个警告,但将来会拒绝应用程序。 还没有决定要做什么,您可以查看discussion 目前对于Cordova应用程序,建议安装WKWebView引擎插件。根据自述文件,我只需安装此插件即可使Cordova使用WKWebView。真的这么容易吗?添加了这个之后,我只需要构建并测试,知道应用程序仅使用WKWebView就可以了吗?
是的,它就是这么简单,但WKWebView有一些可能会影响您的应用程序的问题,所以试试看吧。如第一点所解释的那样,现在应该显示"Using WKWebView"。
已知的问题在您链接的博客文章中有报道。如果它们影响到您,您可以尝试使用Ionic WebView,它使用WKWebViewWKURLSchemeHandler来解决一些问题。您不需要使用Ionic来使用Ionic WebView。
Cordova有一个本地Web服务器插件wkwebview-engine-localhost,可以解决其中的一些问题,但在应用程序中运行Web服务器并不是一个好主意。

更新:在iOS 12中已被删除 - Xatenev
8
不是,只是已被弃用。 - jcesarmobile
3
这条来自 Cordova iOS Github 页面的信息表明,iOS 13 beta 版本仍然支持 UIWebview。 - Faks
1
是的,这个评论是我写的。我需要更新这个答案。 - jcesarmobile
我在我的应用程序中使用了 cordova-plugin-wkwebvew-enginecordova-plugin-wkwebviewxhrfix - Jacksonkr

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接