macOS 签名与权限
桌面应用在 macOS 上处理代码签名、Apple Developer 注册、TCC 权限和 Tauri 配置的完整流程
你将学到
macOS TCC 权限机制是怎么回事,什么操作会触发权限弹窗 为什么开发包每次构建后都要重新授权 免费 Apple Account 和付费 Developer Program 该选哪个 从创建 CSR 到配置 Tauri 签名身份的完整步骤 如何固定开发身份避免权限互相污染 Developer ID 和 notarization 在正式分发中的角色
macOS 桌面开发里最容易让人踩坑的就是"权限授权"。麦克风、输入监听、辅助功能、自动粘贴这些能力,不只看应用名字,还看 bundle identifier、代码签名、安装路径和最终的 app bundle。开发时频繁重建、换路径、换签名方式,就可能每次都要重新授权。
这篇以 Tauri 为例,但 Electron 也适用同一套 macOS 规则。如果你还没有理解 Apple Developer Program、Bundle ID、App ID、证书和描述文件的关系,先看 Apple 平台配置。
macOS 权限是怎么回事
macOS 隐私权限由 TCC(Transparency, Consent, and Control)管理。当你的应用第一次请求某个敏感能力时,系统会弹窗让用户决定。这个决定和应用的"身份"绑定,不是和应用名绑定。
常见能力和对应权限:
命令行可以重置这些记录,让系统下次重新弹窗:
``bash tccutil reset Microphone com.example.desktop tccutil reset Accessibility com.example.desktop tccutil reset ListenEvent com.example.desktop tccutil reset AppleEvents com.example.desktop ``
这篇文档有问题?