iOS开发之AssetsLibrary框架使用详解

2020-01-21 07:12:33于海丽

枚举过程中,我们可以过去到ALAssetsGroup类型的对象,这个对象中封装了相片资源信息,后面会介绍。

下面列举了ALAssetsLibrary中其他常用的方法:


//直接通过URL来获取资源
- (void)assetForURL:(NSURL *)assetURL resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock;
//直接通过URL来获取资源组
- (void)groupForURL:(NSURL *)groupURL resultBlock:(ALAssetsLibraryGroupResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock;
//向相册库中添加一个新的资源组 可以自定义名称
- (void)addAssetsGroupAlbumWithName:(NSString *)name resultBlock:(ALAssetsLibraryGroupResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock;
//向相册中写入一张图片 orientation参数设置图片的方向
/*
typedef NS_ENUM(NSInteger, ALAssetOrientation) {
  ALAssetOrientationUp ,      // 向上 默认的
  ALAssetOrientationDown ,     // 向下
  ALAssetOrientationLeft ,     // 向左
  ALAssetOrientationRight ,     // 向右
  ALAssetOrientationUpMirrored ,  //
  ALAssetOrientationDownMirrored , // horizontal flip
  ALAssetOrientationLeftMirrored , // vertical flip
  ALAssetOrientationRightMirrored , // vertical flip
};
*/
- (void)writeImageToSavedPhotosAlbum:(CGImageRef)imageRef orientation:(ALAssetOrientation)orientation completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock;
//向相册中写入一张图片 并可以设置图片的元数据
- (void)writeImageToSavedPhotosAlbum:(CGImageRef)imageRef metadata:(NSDictionary *)metadata completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock;
//向相册中写入图片数据 并可以设置元数据
- (void)writeImageDataToSavedPhotosAlbum:(NSData *)imageData metadata:(NSDictionary *)metadata completionBlock:(ALAssetsLibraryWriteImageCompletionBlock)completionBlock;
//将某个路径的视频写入相册中
- (void)writeVideoAtPathToSavedPhotosAlbum:(NSURL *)videoPathURL completionBlock:(ALAssetsLibraryWriteVideoCompletionBlock)completionBlock;
//检查路径中的视频是否和相册相兼容
- (BOOL)videoAtPathIsCompatibleWithSavedPhotosAlbum:(NSURL *)videoPathURL;

当资源库改变时,系统会发出如下通知:


//资源库改变的通知
extern NSString *const ALAssetsLibraryChangedNotification;

通知中传递的信息中包含如下字段: