Я пытаюсь сделать вид камеры, как вы можете видеть в моем коде ниже. Я настроил его для отображения любых ошибок и не нарушал программу, если возникли какие-либо ошибки, однако когда я запускаю этот код, ошибки не возникает или отображается камера. Я запускаю его на реальном телефоне, и телефон запросил, если у него есть разрешение на использование камеры. Ниже приведен кодНет ошибки, однако функция не работает
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()
}
}
}
}
Вы не закрыли блок catch после строки 'print (error)', поэтому код, который вы хотите запустить, никогда не выполняется до тех пор, пока не будут выброшены ошибки. –