我想以编程方式从相册中删除重复的资源(照片不是)。我可以使用Photos framework
删除相册我想知道如何从相册中删除资源而不从照片应用中完全删除它。我想要使用多个地方,例如将资产从一个专辑移动到另一个专辑等等
相册可以根据我的创建进行编辑。
有没有办法在iOS 6或iOS 7的设备中执行此操作?
答案 0 :(得分:2)
在iOS 8及更高版本中,您可以使用以下代码从相册中删除照片,而无需从照片应用中完全删除照片。
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetCollectionChangeRequest *request = [PHAssetCollectionChangeRequest
changeRequestForAssetCollection:self.myAlbum
assets:self.albumAssetsFetchResult];
[request removeAssets:@[asset]];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Finished removing asset from the album. %@", (success ? @"Success" : error));
}];
答案 1 :(得分:0)
您可以将该图片的imageData
设置为nil,这样就可以删除图片。
ALAssetsLibrary *lib = [ALAssetsLibrary new];
[lib enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
if(group == nil)
{
return ;
}
if([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:@"YourAlbumNam"])
{
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
{
if(asset.isEditable)
{
if([[asset valueForProperty:ALAssetPropertyAssetURL] isEqual:yourAssetURL] )
{
[asset setImageData:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error)
{
// Check for error
}];
}
}
}];
}
failureBlock:^(NSError *error)
{
}];