在Mojave上更新为Xcode 10.1,现在我的应用程序总是要求使用麦克风

问题描述 投票:15回答:1

我正在运行AVAudioSession,我怀疑它正在激活麦克风请求,但我只将它用于声音和音乐。在macOS Mojave上运行Xcode 10.1 Simulator时,为什么要激活访问麦克风的请求?我还没有写过一行甚至要求访问它。我的应用程序不需要访问它也不需要它。这是播放音乐的代码:

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来重现这个问题)

Screen shot demonstrating error message

ios xcode ios-simulator avaudiosession macos-mojave
1个回答
4
投票

我最近也在一个音频流应用程序上遇到了这个问题,该应用程序多年来一直工作正常,没有麦克风访问弹出窗口。当您尝试获取AVAudioSession时会发生这种情况。

更新:似乎Xcode 10.2(beta 1)只通过第一次询问然后记住你的答案来解决这个问题。

Update2:Xcode 10.2现已淘汰,仅在第一时间提出要求。

© www.soinside.com 2019 - 2024. All rights reserved.