请帮我解答一下我的问题:
我可以使用ALAssetsLibrary为iPhone库中的所有图像/视频提供网址和元数据吗? 我可以编辑/删除这些图像/视频吗?
答案 0 :(得分:9)
上面的代码遗漏了一些大括号,所以在下面解决了
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
}
] ;
答案 1 :(得分:5)
查看ALAssetsLibrary here的文档。要访问所有照片和视频,您需要枚举照片库中的所有组(相册),然后枚举每组中的所有照片和图像。您无法使用API删除资产。 iOS 5增加了额外的功能 - 它仍然在NDA下,但在这里无法讨论 - 看一下测试文档和iOS5的Apple Developer论坛。
您的代码需要执行以下操作:
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
}
];