首页 > 代码库 > ALAssetsLibrary使用
ALAssetsLibrary使用
在iOS中,我们调用摄像头和选择相册中的资源,我们可以使用:UIImagePickerController类来完成。
当然,我们也可以不使用UI的形式来访问iOS设备的相册资源。
那就是使用:ALAssetsLibrary
一、ALAssetsLibrary是什么
可以说,是一个桥梁把。连接了我们应用程序和相册之间的访问。
ALAssetsLibrary提供了我们对iOS设备中的相片、视频的访问。
ALAssetsLibrary被封装在 框架中。所以,我们在使用时,需要引入该框架。
需添加AssetsLibrary.framework
然后引入
然后引入
#import <AssetsLibrary/ALAsset.h>
#import <AssetsLibrary/ALAssetsLibrary.h>
#import <AssetsLibrary/ALAssetsGroup.h>
#import <AssetsLibrary/ALAssetRepresentation.h>
self.assetsLibrary = [[ALAssetsLibrary alloc] init]; dispatch_queue_t dispatchQueue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(dispatchQueue, ^(void) { // 遍历所有相册 [self.assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { // 遍历每个相册中的项ALAsset [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index,BOOL *stop) { __block BOOL foundThePhoto = NO; if (foundThePhoto){ *stop = YES; } // ALAsset的类型 NSString *assetType = [result valueForProperty:ALAssetPropertyType]; if ([assetType isEqualToString:ALAssetTypePhoto]){ foundThePhoto = YES; *stop = YES; ALAssetRepresentation *assetRepresentation =[result defaultRepresentation]; CGFloat imageScale = [assetRepresentation scale]; UIImageOrientation imageOrientation = (UIImageOrientation)[assetRepresentation orientation]; dispatch_async(dispatch_get_main_queue(), ^(void) { CGImageRef imageReference = [assetRepresentation fullResolutionImage]; // 对找到的图片进行操作 UIImage *image =[[UIImage alloc] initWithCGImage:imageReference scale:imageScale orientation:imageOrientation]; if (image != nil){ //获取到第一张图片 } else { NSLog(@"Failed to create the image."); } }); } }]; } failureBlock:^(NSError *error) { NSLog(@"Failed to enumerate the asset groups."); }]; });
相关文章:
http://blog.csdn.net/kingsley_cxz/article/details/9165951
ALAssetsLibrary使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。