WKWebView 和 Safari 之间的区别?

Difference between WKWebView and Safari?

我正在创建一个使用 WKWebView 的特殊应用程序。 但我有一个问题...... WKWebView 与 Safari(iOS 版本的 Safari ofc)表现不同(过时的浏览器)。

如果我在 Safari 上访问 adidas.com/yeezy,没有问题。 但是当我在WKWebView中访问这个网站时,它说浏览器不够现代。

我真的需要解决这个问题,否则我的应用程序将无法运行。

有没有人有制作 WKWebView "modern" 的解决方案?

谢谢!

我相信这只是配置。查看 WKPreferences

我想如果你启用任何你能启用的功能,你会找到请求的功能。我会检查 adidas 看看我是否找到特别需要的东西

编辑: 第二种选择,您可能会欺骗网站您是不同的浏览器。 只需设置 customUserAgent,参见 here

您可以在 Mac 中看到一个工作示例。

1) 打开 Safari

2) 发展

3) 用户代理

4) 其他

将其复制并粘贴到您的代码中,祝您好运!

以下一个值为例:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0.1 Safari/604.3.5


编辑:swift 5 和 XCode 10.2.1

的示例

谢谢Mr.G

testWebView.customUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1"

我在调查类似问题时发现了这个问题:我的网站在 Safari 中运行良好,但在 Chrome 中无法正常运行 iOS。

如果您访问 http://whatsmyuseragent.org,您可能会注意到您的 WKWebView 使用的 webkit 版本 (60x.x.x) 与 Safari 不同。