【发布时间】:2017-10-15 14:52:22
【问题描述】:
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[
valueForUndefinedKey:]:此类与键 UIImagePickerControllerReferenceURL 的键值编码不兼容。”
@IBAction func btnReviewAction(sender : UIButton) {
imagePicker.delegate = self
imagePicker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!
imagePicker.modalPresentationStyle = UIModalPresentationStyle.popover
imagePicker.preferredContentSize = CGSize(width: 1000, height: 400)
imagePicker.allowsEditing = false
imagePicker.isEditing = false
appDel!.navController?.present(imagePicker, animated: true, completion: nil)
imagePicker.popoverPresentationController?.sourceView = sender
imagePicker.popoverPresentationController?.sourceRect = CGRect(x: 0, y: 0, width: sender.frame.size.width, height: sender.frame.size.height)
isCaptureImage = false
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
var mediaType: String = ""
mediaType = info[UIImagePickerControllerMediaType] as! String
if (mediaType == (kUTTypeImage as String)) {
if isCaptureImage == false {
let library = ALAssetsLibrary()
library.asset(for: value(forKey: UIImagePickerControllerReferenceURL) as! URL!, resultBlock: { (asset) -> Void in
let original: ALAssetRepresentation? = asset?.defaultRepresentation()
let myimag = UIImage(cgImage: original?.fullScreenImage() as! CGImage, scale: CGFloat((original?.scale())! as Float), orientation: UIImageOrientation(rawValue: 0)!)
self.imageAddView.image = self.resizeImage(image: myimag, newWidth: 600)
}, failureBlock: { (error) -> Void in
print("Failed to load captured image.")
})
picker.dismiss(animated: true, completion: { _ in })
}
}
}
在这里我想重定向 PhotoGallery。并在UIImmage 上设置图像,但我在上面得到错误链接。
【问题讨论】:
-
library.asset(for: value(forKey: UIImagePickerControllerReferenceURL)此行导致问题。错误描述说明了一切:UIImagePickerControllerReferenceURL不可观察。 -
用
info[UIImagePickerControllerReferenceURL]替换value(forKey: UIImagePickerControllerReferenceURL)? -
是的,但我该如何解决?
标签: ios