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

iOS项目添加webkit权限以解决WebProcess断言失败问题

解决WKWebView关闭时的RBS断言错误问题

问题根源分析

你遇到的RBSServiceErrorDomain Code=1错误,核心原因不是缺少权限——com.apple.runningboard.assertions.webkit是WebKit框架内部使用的系统权限,不需要开发者手动添加,Xcode的Capabilities里找不到是正常的。真正的问题大概率出在重复加载Web资源和WebView未正确释放上。

具体解决步骤

  1. 修复重复加载的代码
    你的viewDidLoad里连续调用了loadFileURL和load(request),这会导致WebProcess重复处理加载请求,进而引发断言错误。根据你的场景(加载本地文件),保留loadFileURL即可:
override func viewDidLoad() {
  super.viewDidLoad()
  let url = aboutURL
  webView.loadFileURL(url, allowingReadAccessTo: url)
}
  1. 确保WebView在控制器销毁时正确释放
    在控制器销毁前,清理WebView的资源,避免WebProcess残留导致断言失败。添加deinit方法:
deinit {
  // 停止正在进行的加载
  webView.stopLoading()
  // 移除代理引用,避免循环引用
  webView.navigationDelegate = nil
  webView.uiDelegate = nil
  // 置空WebView,确保资源释放
  webView = nil
}
  1. 清理Xcode缓存并重启
    有时候Xcode的缓存会导致奇怪的配置问题,执行以下操作:
  • 关闭Xcode,删除Derived Data(路径:~/Library/Developer/Xcode/DerivedData)
  • 重启你的iPhone设备
  • 重新打开项目并运行

补充说明

如果以上步骤仍未解决问题,可以检查项目的签名配置是否正常——确保使用的是有效的开发证书,没有配置错误的App Sandbox权限(iOS项目一般不需要启用App Sandbox,除非是特定场景)。

内容的提问来源于stack exchange,提问作者David.Chu.ca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 14:36:24