【问题标题】:iOS UIImagePickerController showed blank pageiOS UIImagePickerController 显示空白页
【发布时间】:2019-02-23 11:21:31
【问题描述】:

我试图展示和关闭 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 创建错误:Error Domain=NSCocoaErrorDomain Code=4099 “与名为 com.apple.mobileslideshow.photo-picker.viewservice 的服务的连接被中断,但消息是通过额外的代理发送的,因此该代理已成为无效的。” UserInfo={NSDebugDescription=与名为 com.apple.mobileslideshow.photo-picker.viewservice 的服务的连接已中断,但消息是通过附加代理发送的,因此该代理已失效。}

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

【问题讨论】:

  • 先分享一些代码
  • 嗨@AjharulIslam,我刚刚更新了我的问题。
  • 您是否在使用任何服务扩展?
  • 嗨@Shruti我不使用任何扩展。

标签: ios uiimagepickercontroller


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 2014-08-16
    • 2014-07-19
    • 2015-06-06
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多