斯威夫特,相机图像不返回
问题描述:
对于初学者的问题请原谅我。我加载相机并拍照,但似乎从未调用覆盖函数imagePickerController
,所以我无法将照片设置为imageView,如下所示。任何想法?由于斯威夫特,相机图像不返回
@IBAction func takePhotoClick(_ sender: AnyObject) {
imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .camera
present(imagePicker, animated: true, completion: nil)
}
var imagePicker: UIImagePickerController!
public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
imagePicker.dismiss(animated: true, completion: nil)
photoImageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage
}
答
您需要访问之前询问使用许可等接触号码,照片,位置,日程等在iOS的10苹果延长隐私控制的范围内,用户的私人数据。您必须在Info.plist文件中声明任何私人数据的访问权限。
哪种框架在Info.plist的私钥:
日历,联系人,提醒,照片,蓝牙共享,麦克风,摄像头,位置,荒地,HomeKit,媒体库,运动,CallKit,语音识别, SiriKit,电视供应商。
更多信息,请参阅this
检查,一旦你在你的plist中增加了以下信息
,然后调用像
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
photoImageView.image = image
}
picker.dismiss(animated: true, completion: nil);
}
委托方法