Je crée une application qui récupère des images de la photothèque du téléphone et en supprime les images en double.J'ai beaucoup cherché mais je n'ai trouvé aucun moyen de supprimer l'image de la photo bibliothèque.app sur supprimer des photos en double de l'application photos
Répondre
Comme vous le savez, nous n'avons pas accès à modifier quelque chose à côté du bac à sable.Avant ios 8, il n'était pas possible de supprimer les photos de la photothèque.Mais dans ios 8 et versions ultérieures sont supportées pour supprimer les photos de la bibliothèque le supprimer demandera à l'utilisateur que vous voulez supprimer des photos. Si l'utilisateur le permet, les photos seront supprimées. Je vous ai fourni le CODE que j'ai utilisé dans mon application pour supprimer une photo de la photothèque.
if (check system version >= 8.0)
{
PHPhotoLibrary *library = [PHPhotoLibrary sharedPhotoLibrary];
[library performChanges:^{
PHFetchResult *assetsToBeDeleted = [PHAsset fetchAssetsWithALAssetURLs:delet
options:nil];
[PHAssetChangeRequest deleteAssets:assetsToBeDeleted];
} completionHandler:^(BOOL success, NSError *error) {
//do something here when error
}];
}
Où delet est le tableau d'URL d'actifs d'images que vous obtenez de la bibliothèque avec l'aide du cadre AssetLibrary.
Ne pas vérifier la version iOS. Ce n'est pas la bonne façon de vérifier 'PHPhotoLibrary'. – rmaddy
mais pour savoir comment comparer deux images et fing c'est une image en double ou deux images différentes? – Harshit
Je crée une application qui trouve des images en double à partir de photos et supprimer l'image en double et seulement 1 image reste. – Harshit
je crée sur démo pour que ici est le code i utilisé UIImageJPEGRepresentation pour convertir l'image en data.and les comparer il me donne result.is il une autre propriété d'image que nous pouvons comparer?
UIImage *img1 = [UIImage imageNamed:@"1.jpg"];
UIImage *img2 = [UIImage imageNamed:@"2.jpg"];
NSData *data1 = UIImageJPEGRepresentation(img1, 1.0);
NSLog(@"%@",data1);
NSData *data2 = UIImageJPEGRepresentation(img2, 1.0);
NSLog(@"%@",data2);
if ([data1 isEqualToData:data2])
{
NSLog(@"yes");
}
else
{
NSLog(@"no");
}
PHFetchResult *moments = [PHAssetCollection fetchMomentsWithOptions:nil];
for (PHAssetCollection *moment in moments)
{
PHFetchResult *assetsFetchResults = [PHAsset fetchAssetsInAssetCollection:moment options:nil];
for (PHAsset *asset in assetsFetchResults)
{
// Do something with assets, for example add them to array.
}
}
me donner idée que d'où je peux commencer à partir – Harshit
Pouvez-vous nous montrer ce que vous avez essayé? Quel langage de programmation? –
n'a encore rien essayé. J'utilise obj-c. – Harshit