Photos.framework で自撮り(selfie)画像の一覧を取得する
iOS 9 β3で
PHAssetCollectionSubtypeSmartAlbumSelfPortraits NS_AVAILABLE_IOS(9_0) = 210
が追加された。
以前紹介したスクリーンショット画像の一覧取得は
PHAssetMediaSubtype
の追加定義だったが、今回のは PHAssetCollectionSubtype
の追加定義なので画像一覧の取得の方法がちょっと異なる。
コードは以下
PHAssetCollection
を取得する fetchRequest でスマートアルバムの SelfPortraits アルバムを取得する。
これが自撮り(selfie)用のスマートフォルダになる。
コレクションを取得したらそこから PHAsset
用の fetchRequest を作成する。
最終的にこのアセットから画像を取得する事ができる。
因みにこのスマートフォルダには iOS 9 β3 以降で撮影した写真しか入って来ない様で、既存の自撮り写真はこのフォルダに入っては来ない。
iOS 9 β3以降であれば3rd party製のカメラアプリでも内側カメラで撮影するとこの自撮りフォルダに写真が入って来た。
内側カメラの場合、タイムラプス、写真、スクエアのモードで撮影した写真が自撮りフォルダに入って来るが、ビデオモードでは入って来なかった。
スロー、パノラマに付いては外側カメラでしか撮影ができない。
以下まとめ
撮影モード | 内側カメラ | SmartAlbumSelfPortraits |
---|---|---|
タイムラプス | o | YES |
スロー | x | NO |
ビデオ | o | NO |
写真 | o | YES |
スクエア | o | YES |
パノラマ | x | NO |