UIImagePickerController не работает в Swift - PullRequest
0 голосов
/ 01 мая 2018

Когда я выбираю изображение через UIImagePickerController, я получаю следующий вывод в xCode:

[обнаружение] ошибки, обнаруженные при обнаружении расширений: Ошибка Домена = PlugInKit Code = 13 "запрос отменен" UserInfo = {NSLocalizedDescription = запрос отменен}

Это мой код:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage
    imagePicked = image

    dismiss(animated: true, completion: nil)
    performSegue(withIdentifier: "showImage", sender: self)
}

Класс ViewController объявлен так, как должно быть:

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

let imagePickerController = UIImagePickerController()
var imagePicked = UIImage()

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    imagePickerController.delegate = self

}

Я использую кнопку, чтобы открыть ImagePicker:

@IBAction func chooseImageBtn(_ sender: Any) {
    imagePickerController.sourceType = .photoLibrary
    self.present(imagePickerController, animated: true, completion: nil)

}

Когда я запускаю приложение в симуляторе, я могу нажать на кнопку и выбрать изображение, но затем сборщик закрывается и это сообщение отображается в Xcode:

2018-05-01 16: 50: 01.214450 + 0200 Удивительное имя [57575: 12752181] [MC] Чтение из личных действующих пользовательских настроек.

2018-05-01 16: 50: 03.740711 + 0200 Awesome Name [57575: 12752241] При обнаружении расширений обнаружены ошибки [discovery]: Ошибка Domain = PlugInKit Code = 13 «запрос отменен» UserInfo = {NSLocalizedDescription = запрос отменен}

Я уже провел некоторые исследования, но ничего не получалось. Делегат ImagePicker установлен на self, и я также попытался добавить @objc до func imagePickerController(_ picker:, но это не решило проблему.

Что еще можно попробовать отобразить выбранное изображение?

1 Ответ

0 голосов
/ 02 мая 2018

Попробуйте удалить функцию performeSegue, если вам действительно нужно ее использовать, просто добавьте ее в completion функции dismiss.

...