Swift PHImageManager正在发送重复的照片
我的代码如下。它正在发送1)高质量和2)低质量的重复照片。我只是想了解这个图书馆为什么这么做Swift PHImageManager正在发送重复的照片,swift,Swift,我的代码如下。它正在发送1)高质量和2)低质量的重复照片。我只是想了解这个图书馆为什么这么做 PHImageManager.default().requestImage(for: asset, targetSize: size, contentMode: .aspectFit, options: nil) { result, info in guard let image = result else { return } self.sendPho
PHImageManager.default().requestImage(for: asset, targetSize: size, contentMode: .aspectFit, options: nil) { result, info in
guard let image = result else {
return
}
self.sendPhoto(image)
}
修复了强制选项发送质量的问题
fileprivate func imageRequestOptions() -> PHImageRequestOptions {
let requestOption = PHImageRequestOptions()
requestOption.deliveryMode = .highQualityFormat
return requestOption
}
PHImageManager.default().requestImage(for: asset, targetSize: size, contentMode: .aspectFit, options: self.imageRequestOptions()) { result, info in
guard let image = result else {
return
}
self.sendPhoto(image)
print("sendPhoto iOS 11.0 * asset")
}
来自苹果公司的文件 对于异步请求,Photos可能会多次调用结果处理程序块。Photos首先调用块以提供适合临时显示的低质量图像,同时准备高质量图像。(如果低质量图像数据立即可用,则第一次调用可能会在方法返回之前发生。)当高质量图像准备就绪时,Photos会再次调用结果处理程序以提供它。如果图像管理器已经以完全质量缓存了请求的图像,Photos只调用一次结果处理程序。结果处理程序的info参数中的PHIMAGEResultisDegradeKey键指示照片何时提供临时低质量图像。 您可以对照片和视频资源使用此方法。对于视频资源,图像请求提供缩略图或海报框 也许这是他们的事。我想我们应该注意这个案子