有没有办法加快像文件大小一样获取PHAsset数据?

时间:2018-02-21 15:48:16

标签: ios swift phasset phassetcollection phassetslibrary

我们正在开发一个存储应用程序,除其他功能外,还可以通过云同步和备份用户设备上的照片。我们一起使用文件大小和图像名称来形成临时哈希以进行比较。 我们面临的问题是,当设备上有大量照片的用户(> 10K)首次注册时,获取和检索照片的文件大小需要很长时间~3.5分钟。

我们像这样使用PHImageManager:

photoManager.requestImageData(for: asset, options: options, resultHandler: callback)

从这里调用并处理:

let semaphore = DispatchSemaphore(value: 0)
    let operation = GetOriginalImageOperation(photoManager: self.photoManger,
                                              asset: asset) { (data, string, orientation, dict) in
        if let wrapDict = dict, let dataValue  = data {
            if let name = asset.originalFilename {
                originalFileName = name
            }
            if let unwrapedUrl = wrapDict["PHImageFileURLKey"] as? URL {
                url = unwrapedUrl
            }
            size = UInt64(dataValue.count)
            md5 = String(format: "%@%i", originalFileName, size)

            semaphore.signal()
        } else {
            semaphore.signal()
        }
    }

文件大小不是元数据的一部分,因此检索需要时间(例如Android中不是这种情况)。

有谁知道加快这种做法的方法?也许批量检索?

提前谢谢你。

0 个答案:

没有答案