マイクリクエストをアクティブにしていると思われるAVAudioSessionを実行していますが、サウンドと音楽にのみ使用しています。 macOSMojaveで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
(問題を再現するにはmacOSMojaveが必要です)
最近、マイクアクセスポップアップなしで何年も問題なく動作しているオーディオストリーミングアプリでもこの問題が発生しました。 AVAudioSessionを取得しようとすると発生します。
更新:Xcode 10.2(beta 1)は、最初に質問してから答えを覚えるだけでこれを解決するようです。
Update2:Xcode 10.2がリリースされ、最初にのみ要求されます。