通过PHAssetCollection 可以拿到照片APP里面的相册资源, 相册里面图片分了很多组,每个组的图片资源就是一个PHAssetCollection对象
//获取指定类型的照片集合
+ (PHFetchResult<PHAssetCollection *> *)
fetchAssetCollectionsWithType:(PHAssetCollectionType)type
subtype:(PHAssetCollectionSubtype)subtype
options:(nullable PHFetchOptions *)options;
PHAssetCollectionType 的值有
typedef NS_ENUM(NSInteger, PHAssetCollectionType) {
PHAssetCollectionTypeAlbum = 1, //所有的自定义相簿相册
PHAssetCollectionTypeSmartAlbum = 2, //相机胶卷中所有照片
};
PHAssetCollectionTypeAlbum
对应照片
APP中相簿
模块中自定义的相册
PHAssetCollectionSubtypeAlbumRegular//用户在Photos中创建的相册
PHAssetCollectionSubtypeAlbumSyncedEvent//使用iTunes从Photos照片库或者iPhoto照片库同步过来的事件。然而,在iTunes 12以及iOS 9.0 beta4上,选用该类型没法获取同步的事件相册,而必须使用AlbumSyncedAlbum。
PHAssetCollectionSubtypeAlbumSyncedFaces//使用iTunes从 Photos照片库或者iPhoto照片库同步的人物相册。
PHAssetCollectionSubtypeAlbumSyncedAlbum//做了AlbumSyncedEvent应该做的事
PHAssetCollectionSubtypeAlbumImported//从相机或是外部存储导入的相册,完全没有这方面的使用经验,没法验证。
PHAssetCollectionSubtypeAlbumMyPhotoStream//用户的iCloud照片流
PHAssetCollectionSubtypeAlbumCloudShared//用户使用iCloud共享的相册
PHAssetCollectionSubtypeSmartAlbumGeneric//文档解释为非特殊类型的相册,主要包括从iPhoto同步过来的相册。由于本人的iPhoto已被Photos替代,无法验证。不过,在我的iPad mini上是无法获取的,而下面类型的相册,尽管没有包含照片或视频,但能够获取到。
PHAssetCollectionSubtypeSmartAlbumPanoramas//相机拍摄的全景照片
PHAssetCollectionSubtypeSmartAlbumVideos//相机拍摄的视频
PHAssetCollectionSubtypeSmartAlbumFavorites//收藏文件夹
PHAssetCollectionSubtypeSmartAlbumTimelapses//延时视频文件夹,同时也会出现在视频文件夹中
PHAssetCollectionSubtypeSmartAlbumAllHidden//包含隐藏照片或视频的文件夹
PHAssetCollectionSubtypeSmartAlbumRecentlyAdded//相机近期拍摄的照片或视频
PHAssetCollectionSubtypeSmartAlbumBursts//连拍模式拍摄的照片,在iPad mini上按住快门不放就可以了,但是照片依然没有存放在这个文件夹下,而是在相机相册里。
PHAssetCollectionSubtypeSmartAlbumSlomoVideos//Slomo是slow motion的缩写,高速摄影慢动作解析,在该模式下,iOS设备以120帧拍摄。不过我的iPad mini不支持,没法验证。
PHAssetCollectionSubtypeSmartAlbumUserLibrary//这个命名最神奇了,就是相机相册,所有相机拍摄的照片或视频都会出现在该相册中,而且使用其他应用保存的照片也会出现在这里。
PHAssetCollectionSubtypeAny//包含所有类型
网友评论