iOS模拟器上反复要求麦克风权限的问题

19

我正在使用Xcode 10.1 (10B61) 开发一个需要使用麦克风权限的应用程序。 几乎每次我从Xcode(模拟器)启动应用程序时,都会弹出系统提示:

"应用名称"想要访问麦克风 "隐私 - 使用麦克风描述"

无论我选择“不允许”还是“允许”,这个消息都会不断地弹出。如何解决?

更新 [已解决]

这个问题似乎在Xcode 10.2中得到了解决。


我在更新到Xcode 10.1 (10B61)之后遇到了同样的问题。这让我很烦恼。 - cmilr
更具体地说,模拟器不会记住您曾经授予对这些资源的访问权限(不仅仅是麦克风,还有照片、网络等)。这很繁琐。 - jhhl
1
更令人担忧的是AdMob是否在真实设备上监听麦克风。他们是否将捕获的音频出售给广告公司? - Houman
4个回答

4

您可以通过以下步骤来解决此问题:

  1. 在macOS上前往“安全与隐私”设置。
  2. 在左侧面板上选择“麦克风”。
  3. 取消右侧面板上的Xcode选项。

1
这对我没用。我已经取消了Xcode的勾选,但仍然弹出窗口。为了保险起见,甚至重新启动了一切,并验证了该选项仍未被选中。 - ToddH
2
这对我也行不通,Xcode没有出现在列表中。 - Peter Suwara
这对我有一段时间起作用,但它又再次询问了。 - marxy

1

在寻找解决方法后,这个方法对我有效: 在模拟器中转到“设置”>“您的应用程序”>“禁用麦克风访问”

更新: 没有解决此问题,但可能有帮助: 您可以通过 Esc 键关闭弹出窗口 - 这比点击按钮更快。


对我来说,这在设置应用程序中并不存在(我正在使用iPad 2,因为我仍然支持iOS 9)。 - David Dunham
@DavidDunham 我也曾经遇到过这个问题。你尝试过删除应用程序,或者如果这样做没有帮助,重置模拟器吗? - benrudhart
Xcode在我的MacBook Pro上的麦克风列表中没有出现,macOS 10.14.2。我通过不允许应用程序访问麦克风来解决了这个问题,之后弹出窗口不再出现。这可能不是一个理想的解决方法,但目前为止它起作用了。 - Peter Suwara

1

编辑:

不幸的是,看起来以下过程只是一个临时解决方案。一段时间后,对话框又开始出现了。重复此过程可以再次修复它一段时间。


我曾经遇到过同样的问题,解决方法是在模拟器中禁用然后重新启用麦克风权限。
修复步骤如下:
  • 进入模拟器中的设置应用
  • 找到您的应用程序设置页面
  • 禁用麦克风权限(或任何其他导致问题的权限)
  • 重新启用麦克风权限
这样操作之后,每次运行应用程序时麦克风权限对话框都不会再出现。
请注意,我确实在权限被禁用并且在重新启用之前导航到需要权限的点上运行了应用程序(但我认为这并不是必须的)。
希望这可以帮助你解决问题,它在我的情况下起作用了。

我还没有尝试过这个方法,因为对我有效的方法是不允许访问麦克风,这样它就不会再请求了。只要我允许访问,该应用程序就会每次都请求。但是这似乎是正确的解决方案,谢谢。 - Peter Suwara
我的应用程序设置中没有提到麦克风。此外,在设置->隐私->麦克风下,没有任何应用程序请求访问。 - Tjalsma
有趣,但是你的应用程序需要请求麦克风访问权限? - Crt Gregoric

-3
另一个解决方法是检查应用程序是否在模拟器中运行,并禁用音频代码:
struct Platform {
  static var isSimulator: Bool {
    return TARGET_OS_SIMULATOR != 0
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接