🏞️

【iOS】PhotoKitでよく使う処理まとめ

2021/12/10に公開


Photosフレームワークを使用することで、フォトライブラリから写真やビデオを取得したり、フォトライブラリにアルバムを作成することができます。ここではPhotosフレームワークでよく使う処理をまとます。

UIImageを取得

PHImageManager インスタンスが持つrequestImage の引数にPHAsset 型の変数を指定することで、対応するUIImage を取得することができます。optionPHImageRequestOptions()を指定することによって取得する画像の画質、取得速度、処理の同期/非同期を変更することができる

AVPlayerItemを取得

PHImageManager インスタンスが持つrequestPlayerItem の引数にPHAsset 型の変数を指定することで、対応するAVPlayerItem を取得することができます。取得したAVPlayerItemAVPlayer にセットしてビデオ再生することができます。

アセットを削除

deleteAssets の引数にPHAsset 型の配列を指定することでアセットを削除することができます。

イメージデータを保存

保存するイメージデータの種類によってaddResourcewith 引数に指定するPHAssetResourceType を変更する必要があります。

  • 写真
  • Live Photos
  • RAW

ビデオを保存

写真・動画を共有

assetResourcesPHAsset 型の変数から取り出したリソース群のタイプを判別してから、写真・ビデオを指定のURLに書き出し、ActivityControllerを使用して写真・動画を共有しています。以下の例ではタイプを.photo.videoの2パターンしか用意していませんが、必要に応じてその他のPHAssetResourceTypeをcaseに追加すればRAWデータやLive Photosの動画だけを共有することができます。

以下の方法でも写真を共有することができます。

アセットをお気に入りに指定/解除

写真やビデオをお気に入りに指定したり解除することができます。

コレクションを作成

コレクション名の変更

コレクションを削除

アセットを特定のコレクションに追加

Discussion