资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

iOSALAssetsLibrary的基本使用

需要导入这个库

奉化ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

#import

//ALAssetsLibrary这个类是系统的资源库,可以用它来访问图片,视频,资源等功能

    

   //返回照片数据授权该应用程序状态

    int author = [ALAssetsLibrary authorizationStatus];

  //typedef NS_ENUM(NSInteger, ALAuthorizationStatus) {

   //ALAuthorizationStatusNotDetermined  0

   //用户尚未选择关于这个应用程序

   //ALAuthorizationStatusRestricted 1

   //这个应用程序未被授权访问图片数据。

   //ALAuthorizationStatusDenied 2

   //用户已经明确否认了这个应用程序访问图片数据。

   // ALAuthorizationStatusAuthorized 3

   //授权此应用程序访问数据照片。

    

   //禁用检索和共享照片流的通知

    [ALAssetsLibrary disableSharedPhotoStreamsSupport];

    

    

    ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];

   //创建一个相册到相册资源中,并通过block返回创建成功的相册ALAssetsGroup

   //addAssetsGroupAlbumWithName相册的名字

    [assetsLibrary addAssetsGroupAlbumWithName:@"photo" resultBlock:^(ALAssetsGroup *group) {

       //ALAssetsGroupPropertyName; //查看相册存储的名字

       //ALAssetsGroupPropertyType; //查看相册存储的类型

       //ALAssetsGroupPropertyPersistentID; //查看相册的存储的ID

       //ALAssetsGroupPropertyURLNSURL;   //查看相册的存储的地址

        NSLog(@"%@",[group valueForProperty:ALAssetsGroupPropertyName]);

    } failureBlock:^(NSError *error) {

        NSLog(@"%@",error);

    }];

    

   //获取相册资源中相片或视频的基本信息  assetForURL图片或视频的地址

    [assetsLibrary assetForURL:nil resultBlock:^(ALAsset *asset) {

        NSLog(@"%@",asset);

      //ALAssetPropertyType      类型

      //ALAssetPropertyLocation  查看资源的地理位置信息

      //ALAssetPropertyDuration  如果资源是视频,查看视频的时长

      //ALAssetPropertyOrientation  资源的旋转方向

      //ALAssetPropertyDate         时间

      //ALAssetPropertyRepresentations  描述信息

      //ALAssetPropertyURLs         路径

      //ALAssetPropertyAssetURL  资源的地址

      //ALAssetTypePhoto    照片

      //ALAssetTypeVideo    视频

      //ALAssetTypeUnknown  不知道类型

    } failureBlock:^(NSError *error) {

        NSLog(@"%@",error);

    }];

    

    

   //通过url地址获取相册资源中的一个相册

    [assetsLibrary groupForURL:nil resultBlock:^(ALAssetsGroup *group) {

        NSLog(@"%@",group);

       //ALAssetsGroupPropertyName 名字

       //ALAssetsGroupPropertyType  类型

       //ALAssetsGroupPropertyPersistentID 存储的id

       //ALAssetsGroupPropertyURL     存储的地址

    } failureBlock:^(NSError *error) {

        NSLog(@"%@",error);

    }];

   //保存图片到系统默认的相册中,使用CGImageRef的形式,并返回照片的url地址

    [assetsLibrary writeImageToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {

    }];

    

   //保存图片到系统默认的相册中,使用NSData的形式,并返回照片的url地址

    [assetsLibrary writeImageDataToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {

    }];

    

   //保存图片到系统默认的相册中,使用NSURL的形式,并返回照片的url地址

    [assetsLibrary writeVideoAtPathToSavedPhotosAlbum:nil completionBlock:^(NSURL *assetURL, NSError *error) {

    }];

    

    

   //ALAssetOrientationUp            default orientation

   //ALAssetOrientationDown          180 deg rotation

   //ALAssetOrientationLeft          90 deg CCW

   //ALAssetOrientationRight         90 deg CW

   //ALAssetOrientationUpMirrored    as above but p_w_picpath mirrored along other axis. horizontal flip

   //ALAssetOrientationDownMirrored  horizontal flip

   //ALAssetOrientationLeftMirrored  vertical flip

   //ALAssetOrientationRightMirrored vertical flip

    

   //保存图片到系统默认的相册中,使用CGImageRef的形式和图片的方向,并返回照片的url地址

    [assetsLibrary writeImageToSavedPhotosAlbum:nil orientation:ALAssetOrientationUp completionBlock:^(NSURL *assetURL, NSError *error) {

    }];

    

   //ALAssetsGroupLibrary      资源

   //ALAssetsGroupAlbum        所有专辑从iTunes或同步到设备上。

   //ALAssetsGroupEvent        iTunes同步的事件

   //ALAssetsGroupFaces        iTunes同步的专辑

   //ALAssetsGroupSavedPhotos   保存的照片专辑。

   //ALAssetsGroupPhotoStream  所有的图片的组

   //ALAssetsGroupAll          所有的图片

   //获取相册图片

    [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {

        if(group){

            [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {

                if(result){

                    

                    

                    //获取资源图片的详细资源信息

                    ALAssetRepresentation *representation =[result defaultRepresentation];

                    [_libaryPotoArry addObject:[UIImage p_w_picpathWithCGImage:representation.fullResolutionImage]];

                    //图片的长宽

                   CGSize dimension = [representationdimensions];

                   //图片的高清图

                    [representationfullResolutionImage];

                   //图片的全屏图

                    [representationfullScreenImage];

                   //图片的名字

                   NSString* filename = [representationfilename];

                   //缩放倍数

                    [representationscale];

                   //容量大小

                    [representationsize];

                   //原数据

                    [representation metadata];

                    //旋转方向

                    [representation orientation];

                   //资源图片url地址,该地址和ALAsset通过ALAssetPropertyAssetURL获取的url地址是一样的

                   NSURL* url = [representationurl];

                   //资源图片uti,唯一标示符

                   NSLog(@"uti:%@",[representationUTI]);

                   

                }

            }];

        }

        

    } failureBlock:^(NSError *error) {

        NSLog(@"%@",error);

    }];


本文标题:iOSALAssetsLibrary的基本使用
URL标题:http://cdkjz.cn/article/igcghe.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220