2015-12-08 1 views
0

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

+0

me donner idée que d'où je peux commencer à partir – Harshit

+0

Pouvez-vous nous montrer ce que vous avez essayé? Quel langage de programmation? –

+0

n'a encore rien essayé. J'utilise obj-c. – Harshit

Répondre

0

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 
}]; 
} 

delet est le tableau d'URL d'actifs d'images que vous obtenez de la bibliothèque avec l'aide du cadre AssetLibrary.

+1

Ne pas vérifier la version iOS. Ce n'est pas la bonne façon de vérifier 'PHPhotoLibrary'. – rmaddy

+0

mais pour savoir comment comparer deux images et fing c'est une image en double ou deux images différentes? – Harshit

+0

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

1

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"); 
    } 
0
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. 
    } 
} 
+0

cela m'aide. mais après avoir obtenu des actifs comment je vais les comparer? .i signifie que je trouve des photos en double et supprimer les doublons et en faire un. – Harshit

+0

comment puis-je supprimer plusieurs actifs que l'utilisateur sélectionne? – Harshit