gpt4 book ai didi

macos - Electron 应用程序不要求在 macOS Monterey 上获得相机和麦克风许可

转载 作者:行者123 更新时间:2023-12-05 01:51:46 28 4
gpt4 key购买 nike

我已经构建了一个堆栈 Electron 和 reactjs 的应用程序。我正在尝试从应用程序访问摄像头和麦克风。但是该应用程序在请求时不会请求许可,也不会显示在系统偏好设置 ->摄像头和麦克风下的安全和隐私中。以下是我使用的版本:

"electron": "^15.3.0",
"electron-builder": "^22.14.5",
"electron-devtools-installer": "^3.2.0",
"electron-notarize": "^1.1.1",
"electron-rebuild": "^3.2.3",
"react": "^17.0.2"

让我知道我缺少或需要更改的内容。提前致谢。

最佳答案

我也遇到了这个问题,它在 macOS Catalina 中运行良好,但在 Monterey 中有时却没有。

看了electron官方文档后解决了这个问题:

“如果您计划使用 Electron 的 API 在您的应用中访问麦克风或摄像头,您还需要添加以下权利”

<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>

要添加权利,因为您正在使用 electron-builder,您可以在 package.json 中使用一个配置,将其添加到 "mac" 你添加这个:

"extendInfo": {
"NSMicrophoneUsageDescription": "Please give us access to your microphone",
"NSCameraUsageDescription": "Please give us access to your camera",
"com.apple.security.device.audio-input": true,
"com.apple.security.device.camera": true
},

然后您需要添加以下行来请求媒体权限:


const { systemPreferences } = require('electron')

const microphone = systemPreferences.askForMediaAccess('microphone');
const camera = systemPreferences.askForMediaAccess('camera');

关于macos - Electron 应用程序不要求在 macOS Monterey 上获得相机和麦克风许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72024011/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com