公司的 Electron 应用,偶尔会在
设备检测 时
Crash
,后来经过排查发现是当前 App 没有摄像头和麦克风的权限。导致在
设备检测 时出现了崩溃。
macOS 10.14 及以上版本,开发者必须对其自己的应用明确授予麦克风、摄像头权限。否则无法调用系统的摄像头、麦克风。如想见详情,可见: Requesting Authorization for Media Capture on macOS
其中 Apple 文档里标注了,如果你想使用麦克风、摄像头权限则需要在 plist
文件里指定相关的属性才可以,如下:
- 麦克风: NSMicrophoneUsageDescription
- 摄像头: NSCameraUsageDescription
这两个属性从后面的 Description
就能看到这是一个说明你的程序为什么要使用麦克风和摄像头的属性。
而 Electron App
打包,一般都是使用 electron-builder 这个库来进行打包,而这个库的文档里针对于 mac 打包,有这么一个属性: extendInfo
他的用途是把你的自定义的属性加入到 plist
文件里,在 electro-builder.yml
文件里的写法如下:
mac:
extendInfo:
NSMicrophoneUsageDescription: 请允许本程序访问您的麦克风
NSCameraUsageDescription: 请允许本程序访问您的摄像头
<