AdGuard、uBlock Origin等广告拦截插件在macOS Sonoma中失效,根本原因是系统权限收紧、签名升级与WebKit兼容性断层三重叠加;需依次授予Safari完全磁盘访问权限、验证信任插件签名证书、清除ExtensionRegistry/ExtensionCache及com.apple.Safari.Extensions.plist缓存文件,并可在安全模式下排查第三方辅助工具干扰。

Mac升级到macOS Sonoma后,AdGuard、uBlock Origin等广告拦截插件突然不拦广告、开关变灰、图标消失或启用后无反应,根本不是插件“坏了”,而是系统权限模型收紧、签名机制升级与WebKit渲染层兼容性断层三重叠加导致的静默拦截。
确认是否真由广告插件引发失效
打开「控制台」→ 左侧选「崩溃报告」→ 找到最新一条 Safari 或 Web Content 进程的日志 → 按 Cmd+F 搜索关键词:Plugin、.bundle、incompatible 或插件名(如 AdGuard、uBlock);若命中任意一项,即可锁定问题源。
没搜到匹配行?跳过插件排查,直接检查 Rosetta 状态或 Gatekeeper 拦截日志。
授予Safari完全磁盘访问权限
① 点击苹果菜单 →「系统设置」→「隐私与安全性」→ 滚动到底部点开「完全磁盘访问」→ 点击锁图标输入管理员密码解锁;
② 点击「+」→ 按住 Command 键,在弹窗中依次前往「访达」→「应用程序」→ 右键 Safari.app →「在访达中显示」→ 将其图标拖入权限列表;
③ 【必须重启Safari,否则权限不生效】。
验证并信任插件签名证书
方法一:界面快速判断
打开Safari →「偏好设置」→「扩展」→ 查看目标插件右下角是否标有「未验证的开发者」;若有,说明签名未被钥匙串信任。
方法二:手动信任证书
关闭Safari → 打开「钥匙串访问」→ 顶部搜索框输入插件 Bundle ID(如 me.adguard.safari)→ 双击匹配证书 → 展开「信任」→ 将「代码签名」设为「始终信任」→ 输入密码确认。
注意:AdGuard 旧版在 Sonoma 中签名已过期,必须卸载后从官网下载适配 macOS 14.6+ 的新版安装包。
清除扩展注册缓存与损坏配置
第一步:退出Safari并清空扩展缓存目录
按 Command + Shift + G,在访达中前往:~/Library/Caches/com.apple.Safari/ → 删除其中名为“ExtensionCache”和“ExtensionRegistry”的文件(若存在)。
第二步:删除扩展偏好配置文件
再次按 Command + Shift + G,前往:~/Library/Preferences/ → 找到并删除 com.apple.Safari.Extensions.plist(注意不是 com.apple.Safari.plist)。
第三步:重置LaunchServices注册表
打开「终端」,粘贴执行以下命令:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
等待终端返回“Done.”后,关闭终端,重启Safari。
检查弹窗拦截与网站权限冲突
广告拦截插件依赖注入脚本和动态资源拦截,若其所在域名被弹窗规则误判为广告源,会连带阻断脚本加载。
打开Safari →「设置」→「网站」→「弹出式窗口」→ 在右侧「已配置的网站」中找到插件官网域名(如 adguard.com、ublockorigin.org)→ 点击其右侧下拉菜单 → 选择「允许」。
若未列出,可在下方空白处手动输入完整域名(注意:www.adguard.com 和 adguard.com 视为不同站点,需分别添加)。
禁用干扰型扩展与重置启动状态
方法1:批量禁用可疑扩展
退出Safari → 重新打开 →「设置」→「扩展」→ 逐个关闭名称含「ad」「coupon」「save」「toolbar」「helper」的扩展项 → 仅保留可信开发工具(如 React DevTools)。
方法2:强制跳过上次会话恢复
完全退出 Safari(Command + Q)→ 按住 Shift 键重新双击 Safari 图标启动 → 松开 Shift → 此时 Safari 不会自动恢复任何标签页,可排除会话残留干扰。


















