Closed3
UIImagePickerControllerを使っての動画録画ができない。UIImagePickerControllerへの遷移時に謎のクラッシュが発生してしまう
UIImagePickerControllerを使っての動画録画は簡単に実装できると考えていた。
let vc = UIImagePickerController()
vc.delegate = self
vc.sourceType = .camera
vc.mediaTypes = [ "public.movie" ]
self?.present(vc, animated: true, completion: nil)
しかし、iOS 15.xで下記のコードを実行したところアプリがクラッシュする現象が発生した。スタックトレースは吐かれずに__TCCAccessRequest_block_invoke
とだけ表示されている。
「予期せぬTCCAccessRequest エラーに注意」によれば、以下のように記述がある。
カメラの使用、フォトライブラリの参照などを行う場合、info.plistに説明文の記述が必要。
- カメラ : NSCameraUsageDescription
- フォトライブラリ : NSPhotoLibraryUsageDescription
当然Info.plistにも (今回の実装のためではないが) ユーザー許可を取るために定義は追加済みである。
他にもアプリ内で利用するためにPrivacy - Location When In Use Usage Description
などの定義もすでに追加している。
解決した。
マイク使用の許可 Privacy - Microphone Usage Description
が足りていないのが原因だったようだ。
このスクラップは2022/05/09にクローズされました