macOS应用系统服务权限由TCC框架统一管控,按服务类型独立授权、动态验证,所有权限在「系统设置→隐私与安全性」中分项管理,支持实时开关、重置及网页App独立配置。
macos 对应用调用特定系统服务(如摄像头、麦克风、位置、辅助功能、全盘访问、自动化、屏幕录制等)的授权,由 tcc 框架(transparency, consent, and control) 统一管控。这类授权不是一次性赋予,而是按服务类型独立记录、动态验证,且每次调用前都会触发策略检查。
授权状态集中查看与管理
所有已授/拒权限均列在「系统设置 → 隐私与安全性」中,每类服务对应一个独立子项:
- 点击“摄像头”“麦克风”“定位服务”“辅助功能”“全盘访问”“屏幕录制”“自动化”等,即可看到请求过该权限的应用列表
- 勾选表示已授权,空白表示拒绝或未请求;灰色横线表示该应用尚未主动发起访问请求
- 权限开关实时生效,无需重启应用(但正在运行的应用需退出后重进,部分服务如摄像头才真正释放或启用)
授权弹窗触发条件与常见异常
系统仅在应用首次调用受控服务时弹出授权对话框。若错过、误点“拒绝”,或应用更新后重新声明权限,就会出现功能失效。典型表现包括:
- Julia 调用 System Events 时报“未经授权将Apple事件发送到System Events”
- 自动化脚本无法控制其他App,因“辅助功能”未授权给 Script Editor 或终端
- 屏幕录制工具启动失败,提示“无权访问屏幕录制”
- 第三方备份工具读取 Time Machine 备份失败,实为缺少“全盘访问”授权
手动重置授权记录(强制重新请求)
当授权状态错乱(如反复弹窗、授权后仍无效),可用终端清除 TCC 缓存,触发下一次调用时重新弹窗:
-
tccutil reset Camera(重置摄像头) -
tccutil reset Microphone -
tccutil reset LocationServices -
tccutil reset Accessibility -
tccutil reset ScreenCapture -
tccutil reset FullDiskAccess
⚠️ 注意:tccutil reset All会清空全部第三方应用权限,慎用;重置后需重启对应应用才能触发新弹窗
网页 App(PWA)权限独立存在
通过 Safari 保存为独立应用的网页程序,其权限不与 Safari 共享,也不出现在主权限列表中。需单独进入该 App 的菜单 → “设置” → “隐私”页查看和开关,否则即使 Safari 已授权,PWA 仍无法使用摄像头或位置。
底层校验逻辑不可绕过
TCC 授权与 Gatekeeper 签名、quarantine 属性、SIP 保护相互隔离又协同工作:
- 即使应用已签名+公证,没获 TCC 授权仍无法访问摄像头
- 即使已授“全盘访问”,若 Terminal.app 本身被 quarantine 标记,仍可能被拦截
- 辅助功能授权必须明确勾选调用方(如 iTerm2、VS Code),而非被控目标(如 Finder)
授权本质是用户对“谁可以做什么”的显式确认,系统不会默认信任任何第三方进程。


















