gpt4 book ai didi

ios5 - ALAssetsLibrary 删除 ALAssetsGroup/ALAsset

转载 作者:行者123 更新时间:2023-12-04 13:00:46 25 4
gpt4 key购买 nike

我使用 IOS AssetsLibrary 从我的应用程序创建了“相册”。

阅读 ALAssetsLibrary、ALAssetsGroup 和 ALAsset 文档,我已经看到了“addAsset”、“addAssetsGroupAlbumWithName”的方法。

有没有办法删除以编程方式 我的 ALAssetsGroup 和 ALAsset。
(属性 'editable' 假设为 TRUE,因为我创建了此数据)。

最佳答案

您可以 只有删除 的 ALAsset由您的应用创建 使用文档 API [ALAsset setImageData:metadata:completionBlock:](但我还没有找到任何 API 来删除 ALAssetGroup)。

1)。将图像“photo.jpg”添加到您的项目中
2)。将图像保存到 Assets 库:

ALAssetsLibrary *lib = [ALAssetsLibrary new];
UIImage *image = [UIImage imageNamed:@"photo.jpg"];
[lib writeImageToSavedPhotosAlbum:image.CGImage metadata:@{} completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"Write image %@ to asset library. (Error %@)", assetURL, error);
}];

3)。转到默认图库,您将在“已保存的照片”相册中找到 photo.jpg。

4)。从 Assets 库中删除此图像:
ALAssetsLibrary *lib = [ALAssetsLibrary new];
[lib enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop) {
if(asset.isEditable) {
[asset setImageData:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"Asset url %@ should be deleted. (Error %@)", assetURL, error);
}];
}
}];
} failureBlock:^(NSError *error) {

}];

5)。转到默认图库,您会发现 photo.jpg 已被删除。

关于ios5 - ALAssetsLibrary 删除 ALAssetsGroup/ALAsset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11054860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com