WKWebView iOS17设置UserAgent

WKWebView 设置 user-agent

参考文档

之前设置 user-agent 都是通过设置NSUserDefaults来实现的,不过升级到了iOS17之后这个方式不好用了。

老的设置方式:

Objective-c 复制代码
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

目前看通过设置 webview 里边的 customUserAgent 来实现可以的。不过设置之前最好把原始的给拿出来,把自己想要设置的给加进去。

swift 复制代码
let configuration:WKWebViewConfiguration = .init()
configuration.allowsInlineMediaPlayback = true
let webView = WKWebView(frame: self.bounds, configuration: configuration)

let oldUserAgent = webView.value(forKey: "userAgent") as? String ?? ""
webView.customUserAgent = "\(oldUserAgent) xxx"

之后自测一下:

swift 复制代码
webView.loadHTMLString("""
  <!DOCTYPE html>
  <html>
    <body>
      <div id='ua'></div>
      <script>
        setTimeout(()=>{
          let ele = document.getElementById('ua')
          ele.innerHtml = navigator.userAgent
          alert(navigator.userAgent)
        })
      </script>
    </body>
  </html>
  """, baseURL: nil)
相关推荐
RickeyBoy6 小时前
解决 Swift Testing 中 DI 容器的竞态条件
ios
2501_915918418 小时前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
开心就好20258 小时前
不依赖 Mac 也能做 iOS 开发?跨设备开发流程
后端·ios
开心就好202510 小时前
Windows 上传 IPA 到 App Store 的步骤讲解
后端·ios
for_ever_love__11 小时前
Objective- C学习: 手动内存管理
c语言·学习·ios·objective-c
风启新尘16 小时前
ios巨魔越狱
支持向量机·ios·智能手机
Digitally16 小时前
没有充电器,如何给 iPhone 充电?
ios·iphone
bcbnb16 小时前
基于Mach-O文件的动态库与静态库归属方案及API扫描实践
后端·ios
2501_9159214317 小时前
VSCode 写 Swift 运行到 iPhone?快蝎 IDE 开发实战体验
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
spencer_tseng18 小时前
anti-screenshot (Android + iOS)
android·ios