macOS Gatekeeper 无全局重置命令,但可通过清除隔离属性、评估缓存及隐私授权三步重置单个应用信任状态:先用 xattr -d 清 quarantine 标记,再用 spctl --remove 清评估缓存,最后在系统设置中移除相关隐私权限。
macos gatekeeper 不提供“一键重置所有应用信任状态”的全局命令,但你可以通过组合操作,让系统彻底忘记某个应用的已授权记录,并重新走完完整的信任验证流程——这等效于“彻底重置该应用的信任状态”。关键在于清除三类残留信息:隔离属性、gatekeeper 评估缓存、以及系统隐私授权记录。
清除 quarantine 隔离标记(最常见原因)
从网页、微信、邮件或网盘下载的.app,会被自动打上 com.apple.quarantine 标记,这是触发“无法验证开发者”弹窗的直接源头。不清理它,系统永远认为这是“刚下下来的可疑文件”。
- 终端执行:xattr -d com.apple.quarantine /Applications/YourApp.app
- 路径含空格?拖拽图标到终端更安全,自动转义
- 想清整个 App 内部所有文件(比如内嵌二进制)?加 -r 参数:xattr -rd com.apple.quarantine /Applications/YourApp.app
重置 Gatekeeper 的本地评估结果
即使你删了 quarantine,系统仍可能缓存上次的评估结果(比如之前点过“仍要打开”,它就记住了)。用这条命令强制让它“忘掉”,下次启动时会重新检查签名和公证状态:
- spctl --remove /Applications/YourApp.app
- 执行后不会提示成功,但再运行 spctl --assess --type execute /Applications/YourApp.app 就会返回新结果(accepted 或 rejected)
- 注意:此操作只影响目标应用,不影响其他软件
清空隐私与辅助功能授权记录
有些应用启动卡在黑屏或闪退,实际是因摄像头、屏幕录制、辅助功能等权限拒绝静默发生。系统为每个 App 单独存授权状态,旧授权冲突会导致信任链断裂。
- 打开「系统设置 → 隐私与安全性」
- 逐个进入「文件和文件夹」「辅助功能」「屏幕录制」「输入监视」「全盘访问」等类别
- 找到你的应用名,右键 →「移除访问权限」
- 完全退出该 App(程序坞右键→退出),再重新打开,首次调用对应功能时会重新弹窗请求
验证与补救(可选)
如果重置后仍被拒,说明签名本身有问题(过期、无效、未签名):
- 查签名:codesign --display --verbose=4 /Applications/YourApp.app(看是否 invalid 或 expired)
- 若签名失效且你有开发环境,可临时重签:sudo codesign --force --deep --sign - /Applications/YourApp.app
- 若应用是 Intel 架构,在 Apple Silicon Mac 上记得右键→「显示简介」→勾选「使用 Rosetta 打开」



















