雑なメモですみません。
自前で写真選択UIを作り込む必要が出たのですが、iOS8から使えるようになったPhotoKitを使ってあれこれやってわかったことを適当に残しておきます。
- Xcode6.1 + SDK8.1 + iOS8.1 + Swift
標準写真アプリのアルバムタブに出てくる各アルバムの取り方
PHAssetCollection.fetchAssetCollectionsWithType(...)
のタイプとサブタイプにいろいろ突っ込めば目的のコレクションだけ取得できる。
アルバム | タイプ | サブタイプ |
---|---|---|
カメラロール | SmartAlbum | SmartAlbumUserLibrary |
自分のフォトストリーム | Album | AlbumMyPhotoStream |
お気に入り | SmartAlbum | SmartAlbumFavorites |
パノラマ | SmartAlbum | SmartAlbumPanoramas |
ビデオ | SmartAlbum | SmartAlbumVideos |
スローモーション | SmartAlbum | SmartAlbumSlomoVideos |
タイムラプス | SmartAlbum | SmartAlbumTimelapses |
ユーザーが端末上で作成したアルバム | Album | AlbumRegular |
iTunesで同期したアルバム | Album | AlbumSyncedAlbum |
ユーザーが端末上で作成したアルバムは他にもPHCollection.fetchTopLevelUserCollectionsWithOptions(...)
を使って取得することもできる。
よくわからん事
- 今のところ固定アルバムの順番はハードコーディングするしかなさそうな予感だが、標準写真アプリと同じような順番で列挙する方法が無いか?(贅沢を言えば標準写真アプリと同じ順番&内容で列挙する方法が無いか?)
- 「最近削除した項目」の取り方(特に必要ではないが)
- アルバムを列挙すると「バースト」とか「最後に追加した項目」とか「非表示」とかあるけど、標準写真アプリでいつ出てくるんだろう?
- ユーザーが端末上で作成したアルバム(複数)やiTunesで同期したアルバム(複数)をどういう順番で並べてユーザーに提供したら良いか?