问题起因

起因是因为我在使用MacOS Seqoia(15)中QQ在语音通话时调用麦克风请求无选项问题,然后我发觉这对我的体验是一个很大的影响,于是我开始查询了baidu,但是并无发现,随后我就使用Kimi开始询问,还真询问出来了解决方法。

归根结底(原因)

原因是 macOS 的 TCC(Transparency, Consent, and Control)权限系统在MacOS上无法被 QQ 正确触发注册流程,导致系统根本不知道 QQ 需要麦克风权限,所以设置里连选项都不显示。
让我们拆开来说:

  1. QQ 没有成功"报名"到系统的权限白名单

macOS 的应用权限不是应用自己说了算的。当一个 App(比如 QQ)第一次请求麦克风时,它需要通过系统 API 向 tccd(TCC 守护进程)注册一条记录,大致是:
"我是 QQ(Bundle ID: com.tencent.qq),我要用麦克风,请把我加到白名单里让用户勾选。"
正常情况下,系统会弹出授权窗口,同时在 ~/Library/Application Support/com.apple.TCC/TCC.db 数据库里创建一条记录。之后用户才能在 系统设置 → 隐私与安全性 → 麦克风 里看到 QQ 的开关。
但在MacOS Ventura(13)‌ ~ MacOS Seqoia(15)上,这个"报名"流程经常失败,原因通常是:
AMFI(Apple Mobile File Integrity)部分失效:为了兼容性,往往会通过配置部分禁用 AMFI 或修改 SIP 掩码。AMFI 负责验证应用代码签名和权限请求的合法性,它工作异常时,QQ 发起的权限注册请求会被系统静默丢弃,不会报错,也不会写入数据库。
SIP 状态异常: SIP 要么全开要么全关。一部分常处于"部分关闭"状态(比如 csr-active-config 设置了特定掩码),这会导致 TCC 数据库的写入路径被系统保护,QQ 无法写入,但也不会提示失败。

  1. 系统设置只显示"已注册"的应用

系统设置里的麦克风列表,本质上只是 TCC 数据库的一个可视化界面。它不会扫描你装了哪些 App,只会读取数据库里 service='kTCCServiceMicrophone' 的记录。
如果 QQ 的请求在第一步就被系统丢掉了,数据库里根本没有 QQ 的记录,那设置界面自然空空如也——不是 QQ 没权限,是系统根本不知道 QQ 存在过。
这就是为什么你会看到:
QQ 弹窗说"正在请求麦克风权限"
但系统设置里找不到 QQ
两者是脱节的:QQ 以为自己请求了,系统根本没收到。

解决方案

首先前往系统设置 → 隐私与安全性 → 完全磁盘访问权限 → 点 + 号添加你的终端(Terminal / iTerm2)→ 完全退出终端再重新打开
然后输入以下命令
BUNDLE_ID=$(osascript -e 'id of app "QQ"' 2>/dev/null || echo "com.tencent.qq"); TCC_DB="$HOME/Library/Application Support/com.apple.TCC/TCC.db"; cp "$TCC_DB" "$HOME/Desktop/TCC.db.backup.$(date +%s)"; sqlite3 "$TCC_DB" "DELETE FROM access WHERE service='kTCCServiceMicrophone' AND client='$BUNDLE_ID';"; COLS=$(sqlite3 "$TCC_DB" "PRAGMA table_info(access);" | wc -l | tr -d ' '); if [ "$COLS" -ge 17 ]; then sqlite3 "$TCC_DB" "INSERT INTO access VALUES('kTCCServiceMicrophone','$BUNDLE_ID',0,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,$(date +%s),NULL,NULL,'UNUSED',$(date +%s));"; else sqlite3 "$TCC_DB" "INSERT INTO access VALUES('kTCCServiceMicrophone','$BUNDLE_ID',0,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,$(date +%s));"; fi; sudo killall tccd; open "x-apple.systempreferences:com.apple.preference.security?Privacy_Microphone"
输入你的开机密码
注意⚠️:此操作会清除你所有已获得麦克风权限的应用
然后稍等一会

再去QQ打一通语音通话,去正常给QQ麦克风权限,就可以了!
如果说弹出了一个窗口,直接点确定就行,如果没有弹窗可以不管!

结尾

这个问题无论是白苹果还是黑苹果都会出现,如果我的教程帮助到你了请给我点个赞,下一个教程会更加精彩!

最后修改:2026 年 08 月 07 日
如果觉得我的文章对你有用,请请我喝杯咖啡,咖啡是我创作的唯一动力
END