【iOS】PhotoKitでよく使う処理まとめ
Photosフレームワークを使用することで、フォトライブラリから写真やビデオを取得したり、フォトライブラリにアルバムを作成することができます。ここではPhotosフレームワークでよく使う処理をまとます。
UIImageを取得
PHImageManager
インスタンスが持つrequestImage
の引数にPHAsset
型の変数を指定することで、対応するUIImage
を取得することができます。option
のPHImageRequestOptions()
を指定することによって取得する画像の画質、取得速度、処理の同期/非同期を変更することができる。
AVPlayerItemを取得
PHImageManager
インスタンスが持つrequestPlayerItem
の引数にPHAsset
型の変数を指定することで、対応するAVPlayerItem
を取得することができます。取得したAVPlayerItem
はAVPlayer
にセットしてビデオ再生することができます。
アセットを削除
deleteAssets
の引数にPHAsset
型の配列を指定することでアセットを削除することができます。
イメージデータを保存
保存するイメージデータの種類によってaddResource
のwith
引数に指定するPHAssetResourceType
を変更する必要があります。
- 写真
- Live Photos
- RAW
ビデオを保存
写真・動画を共有
assetResources
でPHAsset
型の変数から取り出したリソース群のタイプを判別してから、写真・ビデオを指定のURLに書き出し、ActivityController
を使用して写真・動画を共有しています。以下の例ではタイプを.photo
と.video
の2パターンしか用意していませんが、必要に応じてその他のPHAssetResourceType
をcaseに追加すればRAWデータやLive Photosの動画だけを共有することができます。
以下の方法でも写真を共有することができます。
アセットをお気に入りに指定/解除
写真やビデオをお気に入りに指定したり解除することができます。
Discussion