Обновлен до Xcode 10.1 на Мохаве, и теперь мое приложение всегда просит использовать микрофон
Я запускаю AVAudioSession, который, как я подозреваю, активирует запрос микрофона, но я использую его только для звуков и музыки. Почему при запуске Xcode 10.1 Simulator в MacOS Mojave активируется запрос на доступ к микрофону? Я не написал ни одной строки, чтобы даже спросить доступ к ней. Моему приложению не нужен доступ к нему, и я не хочу этого. Вот код для воспроизведения музыки:
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, чтобы воспроизвести проблему)
Ответы
Ответ 1
Недавно я также столкнулся с этой проблемой в приложении для аудиопотока, которое годами работало без всплывающего доступа к микрофону. Это происходит, когда вы пытаетесь получить AVAudioSession
Обновление: похоже, что Xcode 10.2 (бета 1) решает эту проблему, спрашивая только в первый раз, а затем вспоминая ваш ответ.