我正在运行一个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 来重现此问题)
![演示错误消息的屏幕截图](https://i.imgur.com/cGatPkZ.jpg)