如何在照片库中获取重复的媒体?

时间:2018-05-16 13:03:09

标签: ios swift phphotolibrary

我想在照片库中找到重复的照片/视频并将其删除。但是我很困惑如何将所有照片相互比较并找出哪些是重复的。

比较字节是没用的,我应该采用哪种方式?

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码行来获取媒体属性,并可以将元数据与其他媒体文件进行比较。通过这种方式,您可以检查重复的媒体。

let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary    

答案 1 :(得分:1)

使用Photos框架,您可以使用以下

获取所有媒体的列表
PHPhotoLibrary.requestAuthorization { status in
    if status == .authorized {
        let fetchOptions = PHFetchOptions()
        fetchOptions.sortDescriptors = [NSSortDescriptor(key:"creationDate", ascending:true)]
        assets = PHAsset.fetchAssets(with: fetchOptions)
    }
}

上面的代码按创建日期对资产进行排序。这意味着当检查5000个奇数资产的列表时,您只需要检查列表中的相邻资产,看它们是否重复。