首页 > 解决方案 > ios13使用PHImageManager获取原始图像

问题描述

在 ios 13 PHImageManagerMaximumSize 上不起作用。

打电话时

let manager = PHImageManager.default()
let option = PHImageRequestOptions()
option.isSynchronous = synchronous
option.isNetworkAccessAllowed = true
option.resizeMode = .exact

manager.requestImage(for: asset, targetSize: PHImageManagerMaximumSize, contentMode: .aspectFill, options: option, resultHandler: {(result, info) in
})

requestImage 返回错误:Error Domain=NSCocoaErrorDomain Code=-1 "(null)"

此代码在 ios12 上运行良好

你能告诉我如何在ios13上获取原始图像吗?

标签: swiftphassetios13phimagemanager

解决方案


正如此处引用的 Apple 文档:

当您使用 PHImageManagerMaximumSize 选项时,照片会为资源提供可用的最大图像,而无需缩放或裁剪。(也就是说,它忽略了resizeMode选项。)

但是在这种情况下,resizeMode似乎对 iOS 13 有效。

设置resizeMode为按.none预期PHImageManagerMaximumSize工作。


推荐阅读