首页 > 解决方案 > iOS UIImagePickerController 显示空白页

问题描述

我试图展示和解除 UIImagePickerController 的连续性

这是我的代码

var imagePicker = UIImagePickerController()
func viewDidLoad() {
    super.viewDidLoad()
    imagePicker.allowsEditing = false
    imagePicker.delegate = self
}

func showImagePickerController() {
    imagePicker.sourceType = .photoLibrary
    present(self.imagePicker, animated: true)
}

// MARK: - UIImagePickerControllerDelegate
private func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any]) {
    if let image = info[UIImagePickerController.InfoKey.originalImage.rawValue] as? UIImage {
        imageViewGroup.image = image
        isChoosePhoto = true
    }
    dismiss(animated: true)
}

结果如下:

植物页面

这是错误日志:

UIImagePickerController UIViewController 创建错误:错误域 = NSCocoaErrorDomain 代码 = 4099 “与名为 com.apple.mobileslideshow.photo-picker.viewservice 的服务的连接已中断,但消息是通过其他代理发送的,因此此代理已无效。” UserInfo={NSDebugDescription=与名为 com.apple.mobileslideshow.photo-picker.viewservice 的服务的连接已中断,但消息是通过附加代理发送的,因此该代理已失效。}

那么,我应该怎么做才能解决这个问题

标签: iosuiimagepickercontroller

解决方案


使用 Swift 4 有两个先决条件UIImagePicker。检查你是否这样做了

1) UIImagePickerController 的委托UIImagePickerControllerDelegate & UINavigationControllerDelegate需要明确添加UINavigationControllerDelegate作为协议之一:

class ViewController:UIViewController, UIImagePickerControllerDelegate, 
UINavigationControllerDelegate { .... } 

2)确保设置info.plistPrivacy - Photo library Usage Description键和字符串值。


推荐阅读