iOS 7からだったかな?アプリがマイク機能を使用しようとすると、アクセス確認のダイアログが表示されるようになりました
アプリが勝手にマイク機能を使ってこっそり録音したりすることがないように、このように確認ダイアログを出すようにしているわけですね。
ですが、いざ録音しようとしたらダイアログが表示されて、録音のタイミングを逃すということも考えられます。なので、ダイアログ表示のタイミングをアプリ側で上手く調整する必要があります。
例えば先日リリースした「こえにっき」だと、録音ボタンを押した時点でダイアログがでないように、アプリの起動時にダイアログを表示するようにしています。
実際に録音する必要はなく、以下の1行を追加すればダイアログが表示されます
AVCaptureDevice.requestAccess(for: AVMediaType.audio, completionHandler: {(granted: Bool) in})
ちなみに、この確認ダイアログですが、1度表示されるとアプリを削除して再インストールしても表示されなかったり、シミュレータでは表示されなかったりと、なかなかデバッグが厄介です。ですが、以下の手順を踏めば表示されるようになります。
1.アプリを端末から削除する
2.設定から日付をずらす
3.アプリを再インストール
若干面倒ですが、これで再表示されます。