PhotoKit是苹果推出的用于替代ALAssetsLibrary的框架。
PhotoKit为使用照片和视频资源提供了新的API,包括由Photos app管理的iCloud Photos资产,所以你可以在“Camera roll”中直接编辑照片,无需提前导入。PhotoKit还包含一个线程安全架构用以获取、缓存缩略图和全尺寸图片,请求资产更改,遵守其他应用所做的变化,以及对资产内容进行可恢复的编辑。
正因为苹果已经做了大量的封装工作,使得开发者在使用PhotoKit的时候非常方便。在这里,将对比之前的一篇ALAssetsLibrary学习记录来简单介绍PhotoKit的基本使用。先简单回顾下ALAssetsLibrary:
ALAssetsLibrary 提供了访问iOS设备下照片应用下所有照片和视频的接口.从 ALAssetsLibrary 中可读取所有的相册数据,即 ALAssetsGroup 对象列表; 从每个 ALAssetsGroup 中可获取到其中包含的照片或视频列表,即 ALAsset 对象列表. 其层次关系为
ALAssetsLibrary -> ALAssetsGroup -> ALAsset -> ALAssetRepresentation.
- 每个 ALAsset 可能有多个representations表示, 即ALAssetRepresentation 对象:
- 使用其defaultRepresentation 方法可获得其默认representations,
- 使用[asset valueForProperty: ALAssetPropertyRepresentations ]可获取其所有representations的 UTI