加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Objective-C / ALAssetslibrary – 如何检索资产的正确路径

发布时间:2020-12-16 07:05:42 所属栏目:百科 来源:网络整理
导读:我已经实现了一个简单的方法,可以找到设备内部图像的路径.其实我正在使用iPhone模拟器.这是我正在使用的代码: [library enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group,BOOL *stop) { if (group) { [group setAssetsFilter:
我已经实现了一个简单的方法,可以找到设备内部图像的路径.其实我正在使用iPhone模拟器.这是我正在使用的代码:

[library enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group,BOOL *stop) {
    if (group) {
        [group setAssetsFilter:[ALAssetsFilter allPhotos]];
        [group enumerateAssetsUsingBlock:^(ALAsset *asset,NSUInteger index,BOOL *stop){
            if (asset){
                NSString *description = [asset description];
                NSRange first = [description rangeOfString:@"URLs:"];
                NSRange second = [description rangeOfString:@"?id="];
                NSString *path = [description substringWithRange: NSMakeRange(first.location + first.length,second.location - (first.location + first.length))];
                [idList addObject:path];
            }
        }];
    }        
    } failureBlock:^(NSError *error) {
        NSLog(@"error enumerating AssetLibrary groups %@n",error);
    }
  ];
});

在这一点上,如果我记录我收到的图像的路径:“assets-library://asset/asset.JPG”,我所知道的不是具有图像准确位置的整个路径.你还好吗?那么,我如何获得资产的整个路径?

谢谢

解决方法

您没有从资产描述中正确检索URL.

考虑使用ALAsset valueForProperty:来简化您的任务.

NSURL *url = [asset valueForProperty:ALAssetPropertyAssetURL];

您可以稍后使用URL通过使用ALAssetsLibrary assetForURL从库中检索资产:

[library assetForURL:self.url resultBlock:^(ALAsset *asset) {

    } failureBlock:^(NSError *error) {

    }];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读