从照片库中删除资产
Posted
技术标签:
【中文标题】从照片库中删除资产【英文标题】:Delete an asset from Photos library 【发布时间】:2015-10-28 11:32:19 【问题描述】:我已经开始研究文档目录和照片库。到目前为止,我能够做的事情是:
将文件保存在“照片”中。
从“照片”中获取文件。
从文档目录访问文件。
保存文档目录中的文件。现在我面临的问题是从“照片”库中删除资产。该怎么做?
我在 Apple 文档中读到我应该使用“PHAssetCollectionChangeRequest”类。于是我写了如下代码:
[[phphotoLibrary sharedPhotoLibrary] performChanges:^
PHAssetCollectionChangeRequest *chng = [PHAssetCollectionChangeRequest new];
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:528];
[chng removeAssetsAtIndexes:indexSet];
// [PHAssetChangeRequest creationRequestForAssetFromImage:[UIImage imageNamed:@"abc.png"]];
completionHandler:^(BOOL success, NSError *error)
if (success)
NSLog(@"Success");
else
NSLog(@"write error : %@",error);
];
但它什么也没做。我可以得到一些代码吗?
【问题讨论】:
【参考方案1】:我认为你必须使用 deleteAssets
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^
[PHAssetChangeRequest deleteAssets:yourArrayOfAssets];
//yourArrayOfAssets is an array of PHAsset objects
completionHandler:^(BOOL success, NSError *error)
];
【讨论】:
这就是我一直在做的,但是我如何声明一个 PHAsset 数组。所有 PHAsset 对象都收集在 PHRequestFetch 中。所以当我在上述方法中传递该数组的任何索引时,程序崩溃.以上是关于从照片库中删除资产的主要内容,如果未能解决你的问题,请参考以下文章
PHAssetRequestChange deleteAsset 也不会删除照片流资产