web-dev-qa-db-ja.com

MojaveでXcode10.1に更新され、アプリが常にマイクの使用を要求するようになりました

マイクリクエストをアクティブにしていると思われる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が必要です)

Screen shot demonstrating error message

15
MrCoinOp

最近、マイクアクセスポップアップなしで何年も問題なく動作しているオーディオストリーミングアプリでもこの問題が発生しました。 AVAudioSessionを取得しようとすると発生します。

更新:Xcode 10.2(beta 1)は、最初に質問してから答えを覚えるだけでこれを解決するようです。

Update2:Xcode 10.2がリリースされ、最初にのみ要求されます。

4
jalmaas