You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中用WKWebView打开WhatsApp Web并切换移动端视图的方法

解决WKWebView打开WhatsApp Web显示桌面版的问题

问题出在你设置的自定义UserAgent上:你用了Mac桌面端的浏览器标识,WhatsApp Web会根据这个标识判断设备类型,直接返回桌面版页面,忽略preferredContentMode = .mobile的设置。

修复步骤

  • 移除Mac端的customUserAgent配置,让WKWebView使用默认的移动端UserAgent
  • 确保WebView的配置(比如preferredContentMode)在加载请求前完成设置

修改后的代码

// 先完成WebView的配置
webView.navigationDelegate = self
webView.configuration.defaultWebpagePreferences.preferredContentMode = .mobile
webView.allowsBackForwardNavigationGestures = true

// 再加载WhatsApp Web
let url = URL(string: "https://web.whatsapp.com/")!
webView.load(URLRequest(url: url))

可选:自定义移动端UserAgent

如果需要自定义UserAgent,要使用移动端的标识,比如iPhone的示例:

let userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
webView.customUserAgent = userAgent

内容的提问来源于stack exchange,提问作者SwiftTry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:09:52