プログラミングと旅と映画の日々

普段はスマホ決済サービスの会社でバッグエンドを担当しているエンジニアです。プログラミングと趣味の映画、株、時々うどんに関してブログを書いていこうと思います。海外ドラマ、クロスバイクも好きです。

【Swift】超簡単!Swiftでカメラを利用する方法

カメラの起動、撮影などを自分のアプリで利用する方法もかなり簡単に実装可能です。


宣言するプロトコルは以下の二つ

UIImagePickerControllerDelegate, UINavigationControllerDelegate

importするlibrary

Photos


controllerでimport

import Photos


plistに情報を追加する
f:id:takanori5:20171018124410p:plain

f:id:takanori5:20171018171154p:plain

privacyと入力し、以下のcamera ...を選択
f:id:takanori5:20171018171810p:plain

valueには適当な文字列(カメラを使う)などを入力

これは許可画面に表示される文字に利用されます。


続いてPhotoLibraryも同様に追加
f:id:takanori5:20171018172226p:plain


以上で事前準備はOKです。

あとは実装していくだけです。

カメラを利用する場合には以下のように書きます。

(ちなみにアルバムを利用する場合は、UIImagePickerControllerSourceType.cameraのところを

UIImagePickerControllerSourceType.

photoLibraryに変更するだけであとは一緒です。)


        let sourceType:UIImagePickerControllerSourceType = UIImagePickerControllerSourceType.camera
        
        // カメラが利用可能かチェック
        
        if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera){
            // インスタンスの作成
            let cameraPicker = UIImagePickerController()
            cameraPicker.sourceType = sourceType
            cameraPicker.delegate = self

            self.present(cameraPicker, animated: true, completion: nil)
        }

以上でOKです。

もし、撮影したimageをすぐ背景に適用したいなどであれば

imagePickerController というdelegateメソッドないに記述すればOK