简要总结
macOS Permissions
这页说明书是讲一个小秘密:在苹果电脑上,一个软件想要用你的摄像头、麦克风或者打开一些文件,需要你点头同意。但电脑的记性有时候不太好,如果软件换了个样子(比如搬家了或者更新了),它可能就忘了你同意过,然后就不工作了。
所以,这页纸就是来告诉你,怎么让电脑牢牢记住你的同意,还有如果它忘记了,我们怎么帮它想起来。
五岁小孩版解释
苹果电脑有一个叫“TCC”的守门员,它负责决定软件能不能用你的摄像头、麦克风这些重要的东西。它认软件主要看三样东西:软件放在电脑的哪个位置、软件的名字(Bundle ID)、还有软件的“身份证”(代码签名)。这三样东西只要有一个变了,守门员就会觉得这是一个全新的软件,之前你给的同意就可能不见了,或者它就不再问你要同意了。
为了让守门员能一直记住你的同意,我们需要做到下面几件事:
- 让软件待在老地方:每次都要从同一个文件夹里打开软件。比如 OpenClaw 软件,就要一直从
dist/OpenClaw.app这个位置打开它。 - 别改软件的名字:软件有一个内部的名字叫“Bundle ID”,如果改了它,守门员就认不出来了。
- 给软件一个正式的“身份证”:软件需要用一个真正的苹果“开发者证书”来签名。这就像给软件一个不会变的正式身份证。如果软件没有身份证,或者每次都用临时身份证(这叫“临时签名”),守门员每次看到都觉得是陌生人,就不会记住你的同意了。
如果有一天,你打开软件,发现它不再问你要权限了(比如用不了摄像头),那可能是守门员忘记了。我们可以试试这样帮它想起来:
- 先关掉软件:把那个不工作的软件完全关掉。
- 去电脑设置里擦掉记录:打开“系统设置”,找到“隐私与安全性”,在里面找到那个软件的名字,把它删掉。这就像把守门员记错的名字擦掉。
- 重新打开软件:从老地方(比如
dist/OpenClaw.app)再次打开软件,这次它应该会重新问你要不要同意。 - 如果还不问,就用命令清理一下:如果第三步它还是不问你,我们可能需要用一个叫
tccutil的命令来告诉守门员彻底忘记这个软件。你需要打开“终端”应用,输入下面这样的命令(把ai.openclaw.mac换成你软件的名字):sudo tccutil reset Accessibility ai.openclaw.macsudo tccutil reset ScreenCapture ai.openclaw.mac输入命令后,可能需要你输入电脑密码。这个命令就像把守门员关于这个软件的小本子清空。 - 最后的大招:重启电脑:有时候,做完上面这些,还需要把电脑完全关掉再打开一次,权限请求才会回来。
除了摄像头、麦克风,软件想打开“桌面”、“文档”、“下载”这些文件夹里的文件时,也可能需要你同意。如果你发现软件卡住了,打不开这些文件夹里的文件,你可能需要去“系统设置” -> “隐私与安全性” -> “文件和文件夹”里,给正在运行这个软件的程序(比如“终端”应用)同意才行。
有一个小窍门:如果你不想每次都去设置里同意,可以把你想让软件处理的文件,先搬到 OpenClaw 自己的工作间里(位置在 ~/.openclaw/workspace),这样通常就不需要额外同意了。
最重要的一件事:如果你想好好测试软件能不能正常获得权限,一定要用真正的“开发者证书”来给它签名。只用临时身份证(临时签名)做的软件,只适合在自己电脑上随便玩玩,不能指望它一直记住权限哦。