Может кто-нибудь, пожалуйста, скажите мне, почему мои приложения зависают, когда я нажимаю кнопку камеры - PullRequest
0 голосов
/ 28 апреля 2019

У меня был класс, который я решил удалить, и после этого мое дополнение продолжает падать.

Ниже находится то, что находится в кнопке

@IBAction func cameraButton_TouchUpInside(_ sender: Any) {
        let imagePickerController = ImagePickerController()
        imagePickerController.delegate = self
        imagePickerController.imageLimit = 1
        present(imagePickerController, animated: true, completion: nil)
    }

func wrapperDidPress(_ imagePicker: ImagePickerController, images: [UIImage]) {

    }
    func doneButtonDidPress(_ imagePicker: ImagePickerController, images: [UIImage]) {
        guard let image = images.first else {
            dismiss(animated: true, completion: nil)
            return
        }


   if let image = info["UIImagePickerControllerOriginalImage"] as? UIImage{
            selectedImage = image
            photo.image = image
            dismiss(animated: true, completion: nil)
//            dismiss(animated: true, completion: {
//                self.performSegue(withIdentifier: "Camera", sender: nil)
//            })
        }

, если я раскомментирую то, что выше моего приложения, происходит сбой, когда я пытаюсь выбрать из библиотеки

больше

//    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
//        if segue.identifier == "filter_segue" {
//            let filterVC = segue.destination as! FilterViewController
//            filterVC.selectedImage = self.selectedImage
//            filterVC.delegate = self
//        }
   // }

//extension CameraViewController: FilterViewControllerDelegate {
//    func updatePhoto(image: UIImage) {
//        self.photo.image = image
//        self.selectedImage = image
//    }
//}

1 Ответ

1 голос
/ 28 апреля 2019

сбои могут быть просто из-за этих:

  • не имеет необходимых разрешений, добавленных в info.plist (в этом случае вы получите сообщение в журнале, что в файле .plist отсутствует разрешение.
  • объект не подключен к правильному IBOutlet (в этом случае кружок рядом с IBOutlet в файлах будет пустым, что означает, что он не связан ни с одним объектом.)

для вашего случая отсутствует разрешение в вашем info.plist. Вы должны добавить NSCameraUsageDescription, и значение является строкой, которая будет отображаться в диалоговом окне разрешений, когда пользователь запрашивает разрешение на открытие камеры. это будет так:

enter image description here

...