【问题标题】:Is WKWebView designed as a replacement of UIWebView?WKWebView 是否设计为 UIWebView 的替代品?
【发布时间】:2015-05-31 22:28:39
【问题描述】:

问这个问题是因为我不确定为什么 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?

【问题讨论】:

  • “我想知道 UIWebView 将来是否会被弃用” 这不是一个编程问题。这是一个关于未来的问题。关于苹果。这是 Stack Overflow,而不是水晶球。
  • uiwebview 现已弃用
  • 正式弃用
  • UIWebView 现在不仅已弃用,而且 Apple 将停止接受使用 UIWebView API 的应用提交

标签: ios uiwebview wkwebview


【解决方案1】:

根据 Xcode 9,UIWebView 已弃用。 ?‍♂️

还有一条文档消息如下:

用于支持旧 macOS 平台的旧版 UIWebView。如果可能,最好使用 WKWebView。

更新: UIWebView 现在在 iOS 12 中已被弃用。 https://developer.apple.com/documentation/uikit/uiwebview

【讨论】:

  • 那么我们可以使用哪个类来代替 IOS 12 的 UIWebView?
  • @CoderACJHP WKWebView
【解决方案2】:

更新: UIWebView 现已弃用,Apple 正在积极劝阻开发者不要使用它。


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

【讨论】:

  • 干杯,感谢您的回答。有关答案的任何更新,请随时编辑和通知。
  • 大量崩溃是 UIWebView 的祸根。对我来说,迁移到 WKWebView 解决了所有问题。这就是迁移的一个很好的理由。
  • UIWebView 将在 iOS 11 版本中弃用。 :(
  • @Suryakant 你有这方面的证据吗?从他们的official documentation 中没有提到弃用?我只想做出明智的决定。
  • @Malb​​a 查看下面的答案,到目前为止只有 xcode 暗示它。
【解决方案3】:

根据Apple Developer site

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

自 2020 年 4 月起,App Store 将不再接受使用 UIWebView 的新应用和自 2020 年 12 月起使用 UIWebView 的应用更新。

【讨论】:

    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 2017-06-23
    • 2017-03-25
    • 1970-01-01
    • 2013-01-29
    • 2011-01-19
    • 2020-06-11
    • 1970-01-01
    相关资源
    最近更新 更多