ios - 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 的服务的连接已中断,但消息是通过附加代理发送的,因此该代理已失效。}
那么,我应该怎么做才能解决这个问题
解决方案
使用 Swift 4 有两个先决条件UIImagePicker
。检查你是否这样做了
1) UIImagePickerController 的委托UIImagePickerControllerDelegate & UINavigationControllerDelegate
需要明确添加UINavigationControllerDelegate
作为协议之一:
class ViewController:UIViewController, UIImagePickerControllerDelegate,
UINavigationControllerDelegate { .... }
2)确保设置info.plist
了Privacy - Photo library Usage Description
键和字符串值。
推荐阅读
- lua - 罗技 G Hub LUA 脚本根据上次状态切换
- java - 天空盒纹理无法正确显示
- go - 如何避免在 Go 中重复自己?
- python - 加载PIL(枕头)时的Tensorflow导入错误
- javascript - Bootstrap 4导航栏按钮不起作用我的错在哪里
- reactjs - 如何在 JEST 中使用配置模拟 API 调用?
- javascript - 离子在另一种方法中调用提交方法无法正常工作
- kubernetes - 如何将 k8s pod 日志保存到主机磁盘
- android - 如何使用 recyclerView 和卡片制作行列表?我可以使用嵌套的 RecyclerView 吗?
- java - 如何在 JUnit 测试中覆盖私有方法