2016-12-20 6 views
0

Ich möchte eine Kamera-Schnittstelle in meiner App mit erfassen und speichern Bildfunktionen, aber ich bin nicht in der Lage, etwas zu bekommen, wenn ich diese App laufen, ist erfolgreich ohne Fehler, aber nichts zeigt auf der ViewController .ios Kamera app swift 3

class ViewController: UIViewController , UINavigationControllerDelegate, UIImagePickerControllerDelegate{ 

@IBOutlet var imageView: UIImageView! 


@IBOutlet var TakePhoto: UIButton! 
var imagePick: UIImagePickerController! 
var newMedia: Bool? 

@IBAction func TakePhoto(_ sender: AnyObject){ 

    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera){ 
     let imagePick = UIImagePickerController() 
     imagePick.delegate = self 
     imagePick.sourceType = UIImagePickerControllerSourceType.camera 
     imagePick.mediaTypes = [kUTTypeImage as String] 
     imagePick.allowsEditing = false 

     self.present(imagePick, animated: true, completion: nil) 

     newMedia = true 

    } 

} 

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    let mediaType = info[UIImagePickerControllerMediaType] as! NSString 
    if mediaType.isEqual(to: kUTTypeImage as String){ 
     let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
     imageView.image = image 

     if(newMedia == true){ 
      UIImageWriteToSavedPhotosAlbum(image, self, #selector(ViewController.image(image:didFinishSavingWithError:contextInfo:)), nil) 
     } //else if mediaType.isEqual(to: kUTTypeMovie as String) 

     self.dismiss(animated: true, completion: nil) 

    } 
} 

func image(image: UIImage, didFinishSavingWithError error: NSErrorPointer, contextInfo:UnsafeRawPointer){ 
    if error != nil{ 
     let alert = UIAlertController(title: "Save Failed", message: "Failed to save the image", preferredStyle: UIAlertControllerStyle.alert) 

     let cancelAction = UIAlertAction(title: "OK", style: .cancel, handler: nil) 

     alert.addAction(cancelAction) 
     self.present(alert, animated: true, completion: nil) 
    } 
} 

}

+0

Ist Ihr IBOutlet richtig angeschlossen? – JAL

+0

ja, sie sind gut verbunden. – Kartic

Antwort

0

Haben Sie die Erlaubnis eingestellt Kamera in info.plist zu benutzen?

Ich meine den Schlüssel Privatsphäre zu setzen - Kamera Verwendung Beschreibung, Typ String mit einer Beschreibung, warum verwenden Sie es

+0

Ja, ich habe die Berechtigung zur Verwendung der Gerätekamera in der Datei info.plist festgelegt. – Kartic

+0

Dann überprüfen Sie, ob Sie die Kamera-Taste nach vorne gebracht haben in viewDidLoad contentView.bringSubview (toFront: Kamera) – ErgesaC