ERROR: Creating a image with an unknown type is an error

I would like to use the image picker to display a image on an image view. I used a tap gesture recognizer so you can tap on the image view and have succesfully had the image picker show up on the screen. But whenever I select an image, I get a crash with:


[Generic] Creating an image format with an unknown type is an error

import UIKit
class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
   
    /
    @IBOutlet weak var nameTextField: UITextField!
    @IBOutlet weak var mealNameLabel: UILabel!
    @IBOutlet weak var photoImageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
       
        /
       
        nameTextField.delegate = self
    }
    /
   
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        /
        textField.resignFirstResponder()
        return true
    }
   
    func textFieldDidEndEditing(_ textField: UITextField) {
         mealNameLabel.text = textField.text
    }
    /
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true, completion: nil)
    }
   
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        /
        if let selectedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
            /
            photoImageView.image = selectedImage
        } else {
            print("Something went wrong")
        }
       
        /
        dismiss(animated: true, completion: nil)
    }
    /
    @IBAction func selectImageFromPhotoLibrary(_ sender: UITapGestureRecognizer) {
        /
       
        nameTextField.resignFirstResponder()
       
        /
       
        let imagePickerContoller = UIImagePickerController()
        imagePickerContoller.sourceType = .photoLibrary
       
        /
        imagePickerContoller.delegate = self
       
        present(imagePickerContoller, animated: true, completion: nil)
    }
    @IBAction func setDefaultLabelText(_ sender: UIButton) {
        mealNameLabel.text = "Default Text"
    }
   
   
}


Any help would be appreciated.

Hi. Looks like you are using Swift 3.0. Try changing the line

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

to

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


That's "AnyObject" to "Any".

I tried that. Same error message.

import UIKit
class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
   
    /
    @IBOutlet weak var nameTextField: UITextField!
    @IBOutlet weak var mealNameLabel: UILabel!
    @IBOutlet weak var photoImageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
       
        /
       
        nameTextField.delegate = self
    }
    /
   
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        /
        textField.resignFirstResponder()
        return true
    }
   
    func textFieldDidEndEditing(_ textField: UITextField) {
         mealNameLabel.text = textField.text
    }
    /
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true, completion: nil)
    }
   
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        /
        if let selectedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
            /
            photoImageView.image = selectedImage
        } else {
            print("Something went wrong")
        }
       
        /
        dismiss(animated: true, completion: nil)
    }
    /
    @IBAction func selectImageFromPhotoLibrary(_ sender: UITapGestureRecognizer) {
        /
       
        nameTextField.resignFirstResponder()
       
        /
       
        let imagePickerContoller = UIImagePickerController()
        imagePickerContoller.sourceType = .photoLibrary
       
        /
        imagePickerContoller.delegate = self
       
        present(imagePickerContoller, animated: true, completion: nil)
    }
    @IBAction func setDefaultLabelText(_ sender: UIButton) {
        mealNameLabel.text = "Default Text"
    }
   
   
}

I have the same problem. Anyone knows how to fix it?

Me too, anyone fix it?

I'm experiencing the same problem. Changing 'AnyObject' to 'Any' didn't seem to fix it. The code I have worked just fine prior to updating to Xcode 8.1.


Any other ideas for what might be causing this?

Thanks!

I am still getting the error message in Xcode 8.2 Picking the image works fine, but would like to get rid of the error message.

ERROR: Creating a image with an unknown type is an error
 
 
Q