Puede única eliminar la ALAsset que es creado por la aplicación con el documento API [ALAsset setImageData: metadatos: completionBlock:] (Pero no he encontrado ninguna API para eliminar una ALAssetGroup).
1). Agregue una imagen "photo.jpg" a su proyecto 2). Guarde una imagen en la biblioteca de activos:
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). Vaya a la galería predeterminada, encontrará photo.jpg en su álbum "Saved Photos".
4). Elimine esta imagen de la biblioteca de activos:
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). Ir a la galería predeterminada, verá que photo.jpg ya se ha eliminado.
Se te dio la respuesta correcta. ¿Por qué no aceptarlo? – matt