iPhone ALAssetsLibrary 获取所有图像并进行编辑
Posted
技术标签:
【中文标题】iPhone ALAssetsLibrary 获取所有图像并进行编辑【英文标题】:iPhone ALAssetsLibrary get all images and edit 【发布时间】:2011-09-27 14:34:08 【问题描述】:请帮我解决我的问题:
我可以使用 ALAssetsLibrary 为 iPhone 库中的所有图像/视频提供 URL 和元数据吗? 我可以编辑/删除这些图像/视频吗?
【问题讨论】:
【参考方案1】:上面的代码遗漏了一些大括号,所以在下面解决了
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
assets = [[NSMutableArray alloc] init];
[al enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
if (asset)
NSLog(@"%@",asset);
NSLog(@".. do something with the asset");
];
failureBlock:^(NSError *error)
// User did not allow access to library
// .. handle error
] ;
【讨论】:
【参考方案2】:查看 ALAssetsLibrary here 的文档。要访问所有照片和视频,您需要枚举照片库中的所有组(相册),然后枚举每个组中的所有照片和图像。您无法使用 API 删除资产。 ios 5 添加了额外的功能——尽管它仍处于 NDA 之下,无法在此处讨论——请查看 iOS5 的 beta 文档和 Apple 开发者论坛。
您的代码将需要执行以下操作:
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
[al enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
if (asset)
.. do something with the asset
];
failureBlock:^(NSError *error)
// User did not allow access to library
.. handle error
];
【讨论】:
谢谢。我在资产组方面遇到了问题,你帮了我。以上是关于iPhone ALAssetsLibrary 获取所有图像并进行编辑的主要内容,如果未能解决你的问题,请参考以下文章
使用 writeImageToSavedPhotosAlbum 时获取文件名