WKWebView是否被设计为UIWebView的替代品?

时间:2015-03-27 14:38:50

标签: ios uiwebview wkwebview

提出这个问题,因为我不确定为什么Apple在不弃用UIWebView的情况下引入了WKWebView。重要的是要有一个想法,因为我正在编写一个大型代码库,需要做出明智的/基于事实的决策。

  • 我们可能不得不期望这两个课程在未来共存而且没有一个被弃用吗?

  • WKWebView纯粹是为速度性能而设计的(使用JIT),并且可能仅用于某些用例吗?

WKWebView的当前限制:

https://mail.mozilla.org/pipermail/mobile-firefox-dev/2014-December/000993.html

How can I retrieve a file using WKWebView?

3 个答案:

答案 0 :(得分:12)

根据Xcode 9,User已弃用。 ♂️

Xcode 9

文档信息显示:

  

旧版UIWebView支持旧版macOS平台。如果可能,请更喜欢使用WKWebView。

已更新:在iOS 12中,现在不推荐使用UIWebView。 https://developer.apple.com/documentation/uikit/uiwebview

答案 1 :(得分:8)

有几个原因,包括安全性(进程外模型),性能和内存管理。 Apple是否会弃用UIWebView并不是任何人都可以回答的问题,但Apple考虑到目前存在的许多限制(在WebKit2源库中部分解决了未来的iOS WK2框架包含),我的教育猜测是{​​{{ 1}}是为了满足不同的需求。考虑到WebKitLegacy和WebKit2(现在改名为WebKit)框架引用相同的实现框架(WebCore,JSCore等),保持UIWebView活着不需要很多工作。

答案 2 :(得分:2)

根据Apple Developer site

如果您的应用仍使用已弃用的UIWebView API嵌入网络内容,我们强烈建议您尽快更新为WKWebView,以提高安全性和可靠性。 WKWebView通过将网络处理限制在应用程序的网络视图中,确保泄露的网络内容不会影响应用程序的其余部分。 iOS和macOS以及Mac Catalyst都支持它。

从2020年4月开始,App Store将不再接受使用UIWebView的新应用程序,并且从2020年12月开始不再使用UIWebView的应用程序更新。