Вы можете только удалить ALAsset, который создан приложение с документом API [ALAsset setImageData: метаданные: completionBlock:] (Но я не нашел ни одного API, чтобы удалить ALAssetGroup).
1). Добавьте изображение "photo.jpg" к вашему проекту 2). Сохранение изображения в библиотеке активов:
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). Перейдите в галерею по умолчанию, вы найдете фото.jpg в своем альбоме «Сохраненные фотографии».
4). Удалить это изображение из библиотеки активов:
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 уже удален.
Вы получили правильный ответ. Почему бы не принять это? – matt