退出时的选择器错误消息(在发现扩展时遇到:错误域= PlugInKit代码= 13)使用Swift 4 - Xcode 9

joh*_*ohn 21 uiimagepickercontroller swift4

相近

PhotoPicker发现错误:错误Domain = PlugInKit Code = 13

还有

https://forums.developer.apple.com/thread/82105

但我已经尝试了所有这些建议,但仍然在调试日志中出错.运行Swift 4 XCode 9A235

各个地方的建议是......

  • 有人说加@objc
  • 有人说加内部
  • 有些人建议添加_并确保使用Any而不是AnyObject
  • 有人说使用didFinishPickingImageWithInfo(这不会给我返回任何图像)
  • 有些人说是挑衅者,其他人说解雇自己,其他人说解雇他们
  • 有人说将'隐私......'添加到plist(已完成)
  • 添加了导入照片
  • 之前调用强制PHPhotoLibrary.requestAuthorization(){(状态) - > Void in ...

我没有在Swift 3中遇到这个问题 - 以前的xcode.但是使用Swift 4,我尝试了每次看到的建议,但仍然会出现以下错误

[发现]发现扩展时遇到的错误:错误域= PlugInKit代码= 13"查询已取消"UserInfo = {NSLocalizedDescription =查询已取消}

选择器工作正常,我最终选择了照片中的图像,但每次都在选择器退出(取消或选择)时收到此错误消息...

有任何建议如何停止错误消息?除了其他两个链接提供的事项列表(上面概述)

我的方法

@objc internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

    imageSelected = nil

    if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
        imageSelected = editedImage
    } else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {
        imageSelected = originalImage
    }

    if  imageSelected != nil {
        handleSelectedImage()   // override in subclass to do something with the returned image
    }
    picker.dismiss(animated: true, completion: nil)   // mess of calling both dismiss to see if it helps - it does not
    dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

Ant*_*eux 16

  1. 将"隐私..."添加到plist
  2. 从Xcode菜单打开:产品>方案>编辑方案>在您的环境变量上设置OS_ACTIVITY_MODE值设置禁用

mc-system-group-container-and-mc-reading-from-public-effective-user-settings-err中查看

工作对我很好

编辑

如果它可以帮助我的代码下面(使用xcode 9)

if libraryAuthorization == .authorized {
        let imagePicker = UIImagePickerController()
        imagePicker.delegate = self
        imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
        imagePicker.allowsEditing = false
        imagePicker.view.tag = button.tag
        self.present(imagePicker, animated: true, completion: nil)
    }
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    if let pickerImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
        photoContainer.addImageToButton(pickerImage, buttonTag: picker.view.tag)
        dismiss(animated: true)
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 经过一些搜索后,似乎这会禁用日志记录.隐藏信息不是我书中的修复. (6认同)
  • 添加OS_ACTIVITY_MODE对我来说很有用 (3认同)
  • 你能解释一下它的作用或原因吗?我不愿意在不了解其含义的情况下添加设置.非常感谢,似乎这个答案适合一些人!(虽然不是全部) (2认同)