问题: 11系统以下,使用UIImagePickerController选择照片,回调获取到的路径是Assets路径,再将这个路径转换为图片资源的时候,使用alAsset?.thumbnail(),然后去设置转换为CGImage时报错
解决:通过alAsset获取到thumbnail, 或者通过representation获取到原图,最后均需要调用方法takeUnretainedValue()
func getImageDetailInfo(imageUrl:URL) {
let assetslibrary = ALAssetsLibrary()
assetslibrary.asset(for: imageUrl, resultBlock: { (alAsset) in
let representation = alAsset!.defaultRepresentation()
let image = representation?.fullResolutionImage()
let imgRef = alAsset?.thumbnail()!.takeUnretainedValue()
DispatchQueue.main.async {
let iamge = UIImage(cgImage: imgRef!)
self.iconView?.image = iamge
}
}) { (error) in
}
}