iOS UIWebView不推荐使用。这对Cordova应用程序意味着什么?

时间:2018-08-13 13:57:54

标签: ios cordova uiwebview wkwebview

Apple将弃用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 个答案:

答案 0 :(得分:6)

  

如何确定我的应用程序是否正在使用UIWebView?

如果您在不使用任何框架的情况下使用Cordova,则默认情况下它将使用UIWebView

如果您使用的是Ionic,则默认情况下会使用它自己的WKWebView插件。

如果在应用启动时阅读日志,则会显示“使用UIWebView”或“使用WKWebView”或“使用Ionic WebView”或其他类似消息。

  

预计苹果将完全删除UIWebView多久?

已弃用仅表示将来可能会在iOS 13中消失,但在iOS 12中使用它是安全的。因此,您至少有一年的迁移时间,不过,您应该尽快开始迁移可能。

  

当前,对于Cordova应用程序,建议安装WKWebView   引擎插件。根据自述文件,我要做的就是安装此文件   插件,它使Cordova使用WKWebView。真的那么容易吗?   添加完之后,我就可以构建并测试是否知道该应用正在使用   仅限WKWebView?

是的,就这么简单,但是WKWebView可能会影响您的应用程序,因此请尝试一下。如第一点所述,消息现在应该显示为“使用WKWebView”。

您链接的博客文章中报告了已知问题。如果它们影响您,则可以尝试Ionic WebView,它使用WKWebView和本地Web服务器来解决其中的一些问题。您无需使用Ionic即可使用Ionic WebView。

Cordova还有一个本地Web服务器插件,您可以使用wkwebview-engine-localhost

答案 1 :(得分:0)

Cordova刚刚发布了一个Cordova iOS版本,以在编译时删除UiWebView。

https://cordova.apache.org/announcements/2019/11/25/cordova-ios-release-5.1.0.html

变更日志:

The most notable improvements in this minor release are:
    The ability to disable UIWebView during the compile-time.

这是链接的PR:

https://github.com/apache/cordova-ios/pull/715