当我通过UIImagePickerController选择图像时,我在xCode中得到以下输出:
[发现]发现扩展时遇到的错误:错误域= PlugInKit代码= 13“查询已取消”UserInfo =
这是我的代码:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
imagePicked = image
dismiss(animated: true, completion: nil)
performSegue(withIdentifier: "showImage", sender: self)
}
ViewController类声明应该是:
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
let imagePickerController = UIImagePickerController()
var imagePicked = UIImage()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
imagePickerController.delegate = self
}
我用一个按钮打开ImagePicker:
@IBAction func chooseImageBtn(_ sender: Any) {
imagePickerController.sourceType = .photoLibrary
self.present(imagePickerController, animated: true, completion: nil)
}
当我在模拟器中启动应用程序时,我可以单击按钮,然后选择一个图像,然后选择器关闭,此消息显示在Xcode中:
2018-05-01 16:50:01.214450 0200令人敬畏的名字[57575:12752181] [MC]从私人有效用户设置中读取 . 2018-05-01 16:50:03.740711 0200真棒名称[57575:12752241] [发现]发现扩展时遇到的错误:错误域= PlugInKit代码= 13“查询已取消”UserInfo =
我已经做了一些研究,但没有任何效果 . ImagePicker的委托设置为 self
,我也尝试在 func imagePickerController(_ picker:
之前添加 @objc
,但这并没有解决问题 .
我还可以尝试显示所选图像?
1 回答
尝试删除
performeSegue
函数,如果你真的需要使用它,只需将它添加到dismiss
函数的completion
即可 .