Photos
是iOS 8以上可使用的框架,通过此框架可以获取用户相册图片、livephoto、vidio
下面是常用的几个类的简单介绍,了解了这些后就可以快速使用Photos框架的API去实现自己的功能了。--比如获取最新一张照片(最近10秒的一张)。
1. PHPhotoLibrary
类
- 通过这个类查询照片库访问权限
- 在用户修改了相册内容后通过这个类可以监听到修改,进而实时更新APP里面需要展示的内容
2. 通过PHAsset类方法来获取到PHAsset的集合类PHFetchResult
#pragma mark - Fetching assets
// Fetches PHAssetSourceTypeUserLibrary assets by default (use includeAssetSourceTypes option to override)
+ (PHFetchResult<PHAsset *> *)fetchAssetsWithOptions:(nullable PHFetchOptions *)options;
+ (PHFetchResult<PHAsset *> *)fetchAssetsWithMediaType:(PHAssetMediaType)mediaType options:(nullable PHFetchOptions *)options;
-
PHAsset
对象是一个媒体文件对象(图片、音频、视频), 包含着文件的属性信息 -
PHFetchResult
是类似数组的有序集合类 -
PHFetchOptions
类,通过这个类创建对象来实现对PHAsset的筛选和排序,允许使用的key如下表
Supported predicate and sort descriptor keys
Class for Fetch Method | Supported Keys |
---|---|
PHAsset |
SELF , localIdentifier, creationDate, modificationDate, mediaType, mediaSubtypes, duration, pixelWidth, pixelHeight, favorite (or isFavorite ), hidden (or isHidden ), burstIdentifier
|
3. PHAsset
和 PHAssetChangeRequest
类定义方法来请求照片或视频内容进行编辑,并将您的编辑提交到照片库
4. PHImageManager
类
通过这个类来取得一个PHAsset对象对应的图片数据
- (PHImageRequestID)requestImageForAsset:(PHAsset *)asset
targetSize:(CGSize)targetSize
contentMode:(PHImageContentMode)contentMode
options:(nullable PHImageRequestOptions *)options
resultHandler:(void (^)(UIImage *__nullable result, NSDictionary *__nullable info))resultHandler;
- PHImageRequestOptions: 对获取图片的一些选项设置
网友评论