前言:

众所周知,Mac系统下的权限管理非常苛刻.一些权限能手动为应用添加,但也有一部分权限是无法为应用手动添加的,这可能与软件的适配有问题,也有可能是应用未向系统发出申请而需要这个权限(来实现某些功能)等等.

出于应用未能及时更新而又需要使用等原因,本文将带你如何解决不可手动为应用添加权限的问题.

总结:System Preferences - Security & Privacy中的一些权限不支持手动添加.这时候需要使用本文的方法主动修改TCC.db文件为应用打开这些权限以保持它们正常工作。
本文以麦克风权限作为示例,其他权限在拓展部分会稍带提示.

image-20220305193706477

注意:本文示例机型CPU为ARM架构,大致信息如图所示.

image-20220305193829563

关闭系统完整性保护(sip)

这个操作并不复杂.
你可以去通过搜索引擎解决,或者用我以下提供的方法

这里提供二个解决方法的链接🔗:
①.苹果
②.Macwk

查询(或找到)需要添加权限应用的Bundle identifier

对应Mac应用而言.
你只需要做一下步骤:

①打开访达Finder,并找到应用,接着右键点击显示包内容.image-20220305195331855

②.找到Info.plist,并右键选择合适的软件打开(本人推荐PlistEdit Pro)
image-20220305195607479

③.打开后,(无论你是用什么软件打开),都需要找到Key(键):Bundle identifier 所对应 Value(值) ,并复制它.
image-20220305195753523

打开终端(Terminal)并输入命令

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);"

示例执行:

image-20220305200142333

去安全性与隐私中启用它

接下来你就可以在麦克风权限中找到你的应用并启用它了!

image-20220305200350008

拓展

这部分是为需要添加其他权限所写的.

实际上,上面命令行的作用是修改位于Library/Application Support/com.apple.TCC/TCC.db文件.

如果你有数据软件,可以打开这个文件,就可以看到我们刚刚的修改image-20220322103253827

例如,你可以通过命令

1
/usr/bin/sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "select * from access"

语法查询来获取应用所启用的权限,结合上面的代码或者使用软件即可添加其他权限.

参考链接🔗

MacBook系统升级到10.15.4后屏幕录制权限无法添加使用

解决Mac 更新完最新系统后,某些功能异常问题

Mac系统怎么添加麦克风权限?

macOS Big Sur 第三方应用授权麦克风的问题

Mac 屏幕录制 权限 没有可勾选或添加的App选项 产生原因和解决办法