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) { }]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |