在Mojave上升级到Xcode 10.1后,我的应用程序现在总是要求使用麦克风。

15

我正在运行一个AVAudioSession,我怀疑它会触发麦克风请求,但我只用它来播放音效和音乐。当在macOS Mojave上运行Xcode 10.1模拟器时,为什么会激活访问麦克风的请求呢?我甚至没有编写一行代码来要求访问它。我的应用程序不需要访问它,也不想让它访问。这里是播放音乐的代码:

AVAudioSession *title = [AVAudioSession sharedInstance];
[title setCategory:AVAudioSessionCategoryAmbient error:nil];
[title setActive:YES error:nil];


//MUSIC
NSString *path = [[NSBundle mainBundle] pathForResource:@"music_nature" ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:path];
titleMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];

titleMusic.numberOfLoops = -1;
[titleMusic setVolume:1.0];
[titleMusic play];
如果我将上面的代码注释掉,就不会再收到麦克风请求了。但是这样我就没有音乐了。
示例项目:https://github.com/Coeur/StackOverflow53109911
(需要 macOS Mojave 来重现此问题) 演示错误消息的屏幕截图

请分享您拥有的音频/音乐播放代码。 - ThE uSeFuL
1
@ThEuSeFuL 完成。 - MrCoinOp
嗯...我也是。升级到10.1后,现在它正在询问。 - possen
@Cœur AVPlayer似乎无法工作?我该如何编写代码?我对这一切都很新。 - MrCoinOp
1
@Cœur。刚刚看了你的帖子。所以这是Mojave的bug而不是iOS的bug。这太令人宽慰了!感谢你的帮助! - MrCoinOp
显示剩余3条评论
1个回答

4

最近我在使用一款音频流应用时遇到了这个问题,该应用多年来一直没有出现麦克风访问弹窗。当您尝试获取AVAudioSession时就会发生这种情况。

更新:似乎Xcode 10.2(beta 1)通过仅在第一次询问并记住您的答案来解决了这个问题。

更新2:Xcode 10.2现已发布,只会在第一次询问。


一样的情况。我尝试设置不同的“类别”和“模式”,但它们都会这样做。 - Cameron E

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