[iPhone] Camera撮影, AVCapturePhotoOutput

前に UIImagePickerController でカメラを扱いましたが、AVCapturePhotoOutputを使うとより細かく設定可能です。
iOS9まではAVCaptureStillImageOutputでしたが非推奨となり、代わりがこのAVCapturePhotoOutput です。
iOS11から jpegPhotoDataRepresentation が非推奨となり、fileDataRepresentation を使うようになりました。またPermissionも少し変わりました。

画面タップでシャッターを切る例です。
 

 

Swift 4.0
Xcode 9.2

 

AVCapturePhotoOutput

 
この記事でのカバー範囲と注意点です。

  1. 実機で試す
    • simulatorではデバッグできません、実機で試してください。
  2. Info.plistの編集
    • 以下を設定しないとエラーになります。
    • NSCameraUsageDescription
    • NSPhotoLibraryAddUsageDescription
    • NSPhotoLibraryUsageDescription(アプリによっては必要かもしれません)
    • UIImagePickerController
  3. Dual cameraの設定はここではやりません。
  4. Live Photosの設定はここではやりません
    • ファイルが増大するので

以下は Appleのサンプルコード を適当にはしょって作りました。ので、本当はもっと細かく設定しないと売り物にはなりませんので。ここでは基本的なところだけです。

Tap を受け取るために UIGestureRecognizerDelegateをdelegateで設定しています。
AVCapturePhotoCaptureDelegateというdelegateも追加されました。

ViewController.swift

 
レイヤーをViewに追加するところを外すとプレビュー無しの撮影になります

position: .back
position: .front
で背面、前面カメラを切り替えられます
 

関連

Ref:
AVCapturePhotoOutput
Sample Code
シミュレータによるテストとデバッグ – Apple Developer

スマホの下取り

まだ1年も使っていないスマホを新機種に変えたくて下取りしようとお店に持ち込んだことがありますが
結局なんだかんだと思ったほどの金額になりませんでした(涙

このネットオフは専業のため高額買取が可能で、お店に行く時間が無い人にとっては送料無料の宅配便が自宅まで引取りに来てくれるのは助かります。

定額買取キャンペーン中であればキズがあっても付属品が無くても減額無しなのでお得です。」


 

 

誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:




Apple Watch Series 4
44mm
(GPS)/(GPS+Cellular)
スペースグレイアルミニウムケース
ブラックスポーツバンド




ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする