Ich versuche, eine Kameraansicht erscheinen zu lassen, wie Sie in meinem Code unten sehen können Ich habe es eingerichtet, um Fehler anzuzeigen und nicht das Programm zu brechen, wenn irgendwelche Fehler jedoch auftreten Wenn ich diesen Code ausführe, tritt kein Fehler auf oder die Kameraansicht wird angezeigt. Ich führe es auf einem tatsächlichen Telefon und das Telefon hat angefordert, wenn es Erlaubnis hatte, die Kamera zu benutzen. Unten ist der CodeKein Fehler gedruckt aber Funktion läuft nicht
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
captureSession = AVCaptureSession()
captureSession?.sessionPreset = AVCaptureSessionPreset1920x1080
let backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
var input : AVCaptureDeviceInput?
let error : NSError?
do {
input = try AVCaptureDeviceInput(device: backCamera)
} catch let error as NSError? {
print(error)
if error == nil && (captureSession?.canAddInput(input))!{
captureSession?.addInput(input)
videoOutput = AVCaptureVideoDataOutput()
//videoOutput?.outputSettings = [AVVideoCodecKey : AVVideoCodecKey]
if ((captureSession?.canAddOutput(videoOutput)) != nil){
captureSession?.addOutput(videoOutput)
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer?.videoGravity = AVLayerVideoGravityResizeAspect
previewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.Portrait
cameraView.layer.addSublayer(previewLayer!)
captureSession?.startRunning()
}
}
}
}
Sie haben den Catch-Block nach der Zeile 'print (error)' nicht geschlossen, so dass der Code, der ausgeführt werden soll, niemals ausgeführt wird, solange keine Fehler ausgegeben werden. –