Closed3

UIImagePickerControllerを使っての動画録画ができない。UIImagePickerControllerへの遷移時に謎のクラッシュが発生してしまう

Kenji Wada (さくさん)Kenji Wada (さくさん)

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 とだけ表示されている。

Kenji Wada (さくさん)Kenji Wada (さくさん)

予期せぬTCCAccessRequest エラーに注意」によれば、以下のように記述がある。

カメラの使用、フォトライブラリの参照などを行う場合、info.plistに説明文の記述が必要。

  • カメラ : NSCameraUsageDescription
  • フォトライブラリ : NSPhotoLibraryUsageDescription

当然Info.plistにも (今回の実装のためではないが) ユーザー許可を取るために定義は追加済みである。

他にもアプリ内で利用するためにPrivacy - Location When In Use Usage Description などの定義もすでに追加している。

このスクラップは2022/05/09にクローズされました