いまさらだけどよく忘れるので、備忘録。
iOSでカメラ機能を実装するには、3種類の方法がある。
簡単にいうと、UIKit.framework
を使うか、AVFoundation.framework
を使うか、の違い。
─────────
framework
├ class
├ メリット
├ デメリット
─────────
① UIKit.framework
UIImagePickerController
メリット
- 簡単
- 写真、動画、編集など、一通りのことはできる
- モックなどをさくっと作るときに便利
デメリット
- 複雑なことはできない
- 撮影中のプレビュー画面を加工したりとかはできない
② AVFoundation.framework
AVCaptureStillImageOutput
メリット
- 撮影中の映像をそのまま画面に表示することができる
- プレビュー画面に別のViewを重ねたりできる
- オリジナルのカメラUIを作りたい場合はこれ
デメリット
-
UIImagePickerController
に比べて実装が複雑
ちなみに、"still"な"image"で「静止画」
③ AVFoundation.framework
AVCaptureVideoDataOutput
メリット
- 撮影中の画像を1枚ずつ加工したいときはこれ
- 撮影中のプレビューにフィルター効果をつけて、漫画風とかイ◯スタっぽくしたり(リアルタイムで加工できるのがポイント)
- vineみたいに繋ぎ取りしたい場合もこれ
- 基本的に動画撮影用だが、静止画も撮影(キャプチャ)できる。(無音カメラとかはこの方法)
デメリット
-
UIImagePickerController
に比べて実装が複雑
参考
おわり