gpt4 book ai didi

ios - HighQualityFormat 的 PHImageManager.requestImageForAsset 从不调用 resultHandler

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:38:23 25 4
gpt4 key购买 nike

我有一个展示照片库图像列表的收藏 View ,在选择时,我想获取最高质量的版本并提供一个 Controller 来裁剪它。

我的收藏 View 的调用工作正常:。

let options = PHImageRequestOptions()
options.networkAccessAllowed = true

PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: CGSize(width: 480, height: 640), contentMode:.AspectFit, options:options, resultHandler:{(image, info)in

print("PhotosVC RECEIVED image size \(image!.size.width) x \(image!.size.height)")

cell.ImageView?.contentMode = UIViewContentMode.ScaleAspectFit
cell.ImageView?.image = image
})

resultHandler 被调用一次或多次 - 通常是两次,第一次返回 60x45,然后再次返回 480x360。

选择单元格后,不同的 ViewController 使用 HighQualityFormat 选项调用 requestImageForAsset:

let options = PHImageRequestOptions()
options.networkAccessAllowed = true
options.deliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat

let ret = PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: CGSize(width: 768, height: 1024), contentMode:.AspectFit, options:options, resultHandler:{(image, info)in

print("RootVC RECEIVED image size \(image!.size.width) x \(image!.size.height)")
// stuff here - never called
})

当我在我的设备(iPad Mini Retina,iOS 9.3.2)上运行这段代码时,resultHandler 永远不会被调用。 它确实在模拟器上被调用,100% 的时间。似乎是设备独有的错误,或特定照片的错误(在设备上 100% 可重现)

我在这个调用上尝试了很多不同的变体;如果我删除 deliveryMode = HighQualityFormat 约束,resultHandler 将以较低的分辨率成功调用多次。

欢迎任何想法或见解。

最佳答案

问题是我的测试设备状态不佳。

主要症状是使用 Apple 应用拍摄的新照片和屏幕截图没有出现在相机胶卷或“照片”应用的任何位置。

设备上的硬重置(主页+锁定 15 秒)解决了上述症状,现在以预期的方式为 HighQualityFormat 调用了 resultHandler。

关于ios - HighQualityFormat 的 PHImageManager.requestImageForAsset 从不调用 resultHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com