microphone - 应用程序不要求在MacOS 10.14 Mojave中访问麦克风的权限

标签 microphone privacy macos-mojave portaudio

我是开发用于飞行模拟的应用程序的团队的一部分。这些应用程序之一也正在MacOS上运行,并且需要访问麦克风才能与在线虚拟空中交通管制进行通信。
从MacOS 10.14开始,麦克风访问不再起作用。过去,它可以在任何以前的MacOS版本中完美运行。我已经读过,从10.14开始,MacOS会询问用户权限,但是此对话框永远不会出现。使用portaudio作为音频库,可以成功打开音频输入流。没有警告,没有错误,也没有指出问题。它只是不返回任何音频输入。

我了解到,许多其他项目(甚至是商业项目)也存在类似的问题。但是我找不到他们最终如何解决的。
我知道该应用程序捆绑包需要在Info.plist中添加特定的 key

<key>NSMicrophoneUsageDescription</key>
<string>This application needs access to your Microphone virtual ATC.</string>

但这没有帮助。
其他人则建议添加<key>CFBundleDisplayName</key>可以解决此问题。但事实并非如此。

值得一提的是,该应用程序未签名。这是一个业余时间的业余项目,我不愿意为苹果的代码签名过程每年花费99美元。那可能是罪魁祸首吗?

欢迎任何建议或想法。

作为临时的解决方法,我们告诉用户通过控制台从应用程序捆绑包中启动二进制文件,从而解决了该问题。但是我也想为应用程序捆绑包本身正确修复它。

最佳答案

对我有用的解决方案是reset PRAM。那里存储了一些系统设置。

During boot up, press and hold Command + Option + P + R. The computer will restart and when you hear the startup sound the 2nd time, you may release.



再次运行该应用程序,然后将显示权限对话框。

关于microphone - 应用程序不要求在MacOS 10.14 Mojave中访问麦克风的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55727488/

相关文章:

iphone - 在 iOS 6 中访问日历(隐私设置)时出现问题

ios - 由于缺少 NSPhotoLibraryAddUsageDescription 而报告应用程序崩溃,但我的应用程序从不使用任何照片

privacy - 用户对个人信息的所有权

code-signing - 如何在 Xcode 10 和 macOS 10.14 下为 XCTest UI 测试启动 WireMock?

ruby - 无法在 MacOS 10.14.2 Mojave : Error running '__rvm_make -j4' 上使用 RVM 安装任何 Ruby

c# - 录制音频的程序:静音麦克风

ios - 如何检测设备(iPhone/iPad)中的麦克风是否可用- Objective C

android - 麦克风从手机扬声器中拾取声音并产生反馈

macos - 2019 年 macOS 上的 SASL 状况如何?

java - 如何使用 Java 写入麦克风输入?