首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ALAssetsLibrary删除ALAssetsGroup / ALAsset

ALAssetsLibrary删除ALAssetsGroup / ALAsset
EN

Stack Overflow用户
提问于 2012-06-15 16:37:51
回答 6查看 9.8K关注 0票数 6

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

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

有没有办法删除PROGRAMMATICALLY,我的ALAssetsGroup和ALAsset。(属性“editable”假设为TRUE,因为我创建了这些数据)。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-06-15 22:28:58

使用任何文档化的API都是不可能的。只有照片应用程序才能删除相册。如果您希望将此特性添加到iOS中,我将在https://feedbackassistant.apple.com/上填写一个功能请求。

票数 10
EN

Stack Overflow用户

发布于 2013-11-29 06:25:55

您只能删除ALAsset,这是由应用程序使用document ALAsset setImageData:metadata:completionBlock:创建的

1)。添加一个图片"photo.jpg“到您的项目2)。将映像保存到资产库:

代码语言:javascript
运行
复制
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)。从资产库中删除此映像:

代码语言:javascript
运行
复制
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已被删除。

票数 14
EN

Stack Overflow用户

发布于 2014-06-23 10:21:55

在ios8中,可以使用删除照片

请查看Photos的文档

要删除资产,请参考PHAssetChangeRequest

代码语言:javascript
运行
复制
+ (void)deleteAssets:(id<NSFastEnumeration>)assets

其中assets是要删除的PHAsset对象的数组。

要删除集合,请参考PHAssetCollectionChangeRequest

代码语言:javascript
运行
复制
+ (void)deleteAssetCollections:(id<NSFastEnumeration>)assetCollections

https://developer.apple.com/library/prerelease/ios/documentation/Photos/Reference/PHAssetChangeRequest_Class/index.html#//apple_ref/occ/clm/PHAssetChangeRequest/deleteAssets

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11054860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档