如何在照片库中获取重复的媒体?
How to get duplicated medias in Photo Library?
我想在照片库中找到重复的 photos/videos 并将其删除。但是我很困惑如何将所有照片相互比较并找出其中哪些是重复的。
比较字节没有用,我应该采取哪种方式?
您可以使用下面的代码行来获取媒体的属性,并且可以将元数据与其他媒体文件进行比较。通过这种方式,您可以检查重复的媒体。
let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary
使用照片框架,您可以使用以下方法获取所有媒体的列表
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key:"creationDate", ascending:true)]
assets = PHAsset.fetchAssets(with: fetchOptions)
}
}
上面的代码按创建日期对资产进行排序。这意味着在检查包含 5000 项奇数资产的列表时,您只需检查列表中的相邻资产,看看它们是否重复。
我想在照片库中找到重复的 photos/videos 并将其删除。但是我很困惑如何将所有照片相互比较并找出其中哪些是重复的。
比较字节没有用,我应该采取哪种方式?
您可以使用下面的代码行来获取媒体的属性,并且可以将元数据与其他媒体文件进行比较。通过这种方式,您可以检查重复的媒体。
let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary
使用照片框架,您可以使用以下方法获取所有媒体的列表
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key:"creationDate", ascending:true)]
assets = PHAsset.fetchAssets(with: fetchOptions)
}
}
上面的代码按创建日期对资产进行排序。这意味着在检查包含 5000 项奇数资产的列表时,您只需检查列表中的相邻资产,看看它们是否重复。