【采坑】MacOS为应用添加麦克风权限
2023-11-17更新: 根据留言,添加适配Sonoma系统的内容。
前言(废话)
我在第一次使用Teams开组会的时候,Teams一直提示我听不到我的声音,让我检查系统设置。
但是来到MacOS的隐私设置部分却发现了一个大问题,就是没有Teams这个软体的选项。
关于如何解决这个问题,去网络上检索很快发现了答案。
那么下面就记录一下如何解决这个问题
关于命令
由于采用不同的晶片似乎需要使用不同的命令,因此分别记载
Intel晶片
1 | sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','#########',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1577993260);" |
Apple Silicon
1 | sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','#########',0,0,4,1,NULL,NULL,0,'UNUSED',NULL,0,1622199671);" |
Sonoma系统
根据在本页下方留言的小可爱Jus的提示,在Sonoma系统中这个数据的列数由原来的13个变成了17个。
感谢!但是sonoma中数据结构变成了17个参数,经过我测试这个是可以用的
sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db “INSERT or REPLACE INTO access VALUES(‘kTCCServiceMicrophone’,’#########’,0,1,1,1,NULL,NULL,’UNUSED’,1,0,1551892126,0,0,0,0,0);”
如果您使用的是Sonoma
系统,您可以尝试下面这个命令。
1 | sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','#########',0,1,1,1,NULL,NULL,'UNUSED',1,0,1551892126,0,0,0,0,0);” |
名称替换
关于上述代码中的#########
部分,需要替换成对应软件的注册名称(即Bundle identifier
)
关于查询一个应用的注册名称,可以使用下述代码
1 | mdls -name kMDItemCFBundleIdentifier -r |
复制上述代码后,打开终端(terminal)
将代码粘贴到终端中的最后敲上一个空格,从访达(Finder)的应用程序中找到相应应用程序的图标,将应用程序图标拖动到当前的终端(terminal)窗口,然后按下回车。
此时会出现一行内容,将出现的那行内容复制(但是不要复制最后一个“%”)
然后替换到相对应的那一长串代码中#########
的部分,然后将替换后的代码粘贴到终端中,按下回车。
此时终端会提示输入电脑的解锁密码,这个时候输入密码即可。
!注意:此时输入密码,屏幕上是不会有任何显示的,输入密码之后按下回车即可。
此时再回到MacOS的隐私设置中就可以找到麦克风这一栏中出现了相应的应用程式了。
参考链接
[Mac系统怎么添加麦克风权限?|知乎]: https://www.zhihu.com/question/379603585
[How to get Bundle ID of Mac application?|StackOverflow]: https://stackoverflow.com/questions/39464668/how-to-get-bundle-id-of-mac-application
在服务器中住着的AKI娘会检测您的输入内容哦, 如果被判断为垃圾内容是看不到的呢!当然抹茶也会定期检查AKI娘的所作所为的!