问题描述
我已经查看了解释如何采用新 PHPickerViewController API 的 WWDC2020 video。我还看到一些博客显示了以下代码。
func picker(_ picker: PHPickerViewController,didFinishPicking results: [PHPickerResult]) {
if let result = results.first,result.itemProvider.canLoadobject(ofClass: UIImage.self) {
result.itemProvider.loadobject(ofClass: UIImage.self) { (image,error) in
dispatchQueue.main.async {
self.parent.didCapture(image)
}
}
} else {
parent.didCapture(nil)
}
}
然而,这对我来说失败了,错误很奇怪。
UIImage 必须向 _ObjectiveCBridgable 确认
我会附上截图,因为它非常令人难以置信
硬件:M1 芯片组
IDE:Xcode 12.4
解决方法
在使用前将 cast image 输入为 UIImage,应该可以解决问题。
if let typeCastedImage = image as? UIImage {
self.parent.didCapture(typeCastedImage)
}