दरअसल, आप अपने ऐप द्वारा सहेजी गई तस्वीरों को हटा सकते हैं (UIImageWriteToSavedPhotosAlbum API कॉल के साथ फोटो लाइब्रेरी में सहेजा गया)।
प्रलेखित एपीआई [ALAsset setImageData:metadata:completionBlock:]
काम करता है।
1)। अपनी परियोजना
2) में एक छवि "photo.jpg" जोड़ें। संपत्ति लाइब्रेरी में एक छवि सहेजें:
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)। संपत्ति पुस्तकालय से इस छवि को हटाएं:
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)। डिफ़ॉल्ट गैलरी पर जाएं, आपको फोटो मिलेगा। Jpg पहले से ही हटा दिया गया है।
हम एक विलोपन तस्वीरें फ्रेमवर्क का प्रयोग करके अनुरोध नहीं कर सकते हैं? मुझे लगता है, हाँ हम कर सकते हैं। –
PHAssetChangeRequest.deleteAssets ([propertyToDelete]) –
https://developer.apple.com/documentation/photos/phassetchangerequest/1624062-deleteassets –