Swift,相机图像不返回

Posted

技术标签:

【中文标题】Swift,相机图像不返回【英文标题】:Swift, Camera image doesn't return 【发布时间】:2016-10-25 05:01:20 【问题描述】:

请原谅我的初学者问题。我加载相机并拍照,但似乎从未调用过覆盖函数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





【问题讨论】:

【参考方案1】:

ios 10 中访问用户隐私数据(如联系人号码、照片、位置、日历等)之前,您需要先询问使用权限。Apple 正在扩展隐私控制的范围。您必须在 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);

【讨论】:

以上是关于Swift,相机图像不返回的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在 Swift 中访问从相机拍摄的图像,就像 iOS 中的画廊一样?

在 Swift 中从相机中裁剪图像而不移动到另一个 ViewController

IOS Swift 3:拍摄相机图片后水平翻转前置摄像头图像

存储对相机胶卷图像的引用 - Swift 4

从 Swift 中的相机胶卷连拍中删除单张照片

Swift 中的自定义相机和裁剪图像