macOS下打开麦克风崩溃

项目场景:

‌程序在 macOS 环境下尝试访问麦克风时发生崩溃。


问题描述

崩溃信息如下:

bash 复制代码
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: test [2720]
Path: /Applications/test.app/Contents/MacOS/test
Identifier: hs.test Version: ???
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501
 
Date/Time: 2025-10-21 09:08:40.5221 +0800
OS Version: macOS 12.7.6 (21H1320)
Report Version: 12
Anonymous UUID: 4AEF0814-8866-A5DC-9EE9-7BC72539EBA0
 
Termination Reason: Namespace TCC, Code 0 This app has crashed because it attempted to access privacy-sensitive data without a usage description.
The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.

原因分析:

从最后一句描述可以看出,macOS(跟 iOS 类似)要求任何访问隐私相关硬件(如摄像头、麦克风、位置等)的应用,在 Info.plist 文件中声明用途描述。如果没有声明,系统会直接拒绝访问并触发崩溃。


解决方案:

在 test.app/Contents/Info.plist 中添加以下键值:

bash 复制代码
<key>NSMicrophoneUsageDescription</key>
<string>此应用需要访问麦克风以进行音频采集或语音对讲。</string>

如果程序还需要使用摄像头(比如视频通话或监控),要同时加上:

bash 复制代码
<key>NSCameraUsageDescription</key>
<string>此应用需要访问摄像头以进行视频预览或录像。</string>

如果是已打包的 .app,可以通过命令行修改:

bash 复制代码
/usr/libexec/PlistBuddy -c "Add :NSMicrophoneUsageDescription string '此应用需要访问麦克风以进行音频采集或语音对讲。'" /Applications/test.app/Contents/Info.plist
相关推荐
Allen Su2 小时前
【Mac 教程系列第 20 篇】macOS 鼠须管(Squirrel)皮肤大全(持续更新)
macos·rime·squirrel·rime 输入法皮肤大全
LinMin_Rik5 小时前
Mac上获取私钥证书P12文件(也可以给win11的HbuilderX使用)
macos
音视频牛哥7 小时前
macOS如何实现RTSP/RTMP低延迟播放? SmartMacPlayer技术实战探究
macos·大牛直播sdk·mac rtsp播放器·mac rtmp·mac rtmp播放器·mac平台播放rtsp·mac平台播放rtmp
一杯奶茶¥8 小时前
苹果系统可引导镜像 macOS 原版可引导镜像
macos
BugShare9 小时前
Mac 上原生开发的开源免费、尽享丝滑数据库工具
数据库·macos·开源
Soari10 小时前
开源项目apple/container 解析:Apple 官方推出的 macOS 原生容器运行工具
macos·开源
糖果店的幽灵10 小时前
Mac 安装 Codex 并使用 CC Switch 中转教程
macos
万物得其道者成10 小时前
【2026最新】Mac版OpenAI Codex 一键汉化教程
macos
AI行业学习1 天前
CC‑Switch v3.16.1 免费下载(Windows+macOS+Linux)、使用方法【2026.6.11】
linux·开发语言·windows·python·macos·前端框架·html
一个人旅程~1 天前
如何进行win11右键菜单优化(poweshell命令行与bat自动脚本方式)
windows·经验分享·macos·电脑