-1

I am using the code below to open the front camera But sometimes I get 'Unexpectedly found nil while unwrapping an Optional' error

let input = try AVCaptureDeviceInput(device: frontCamera!)

Can you solve this problem?

thank you

override func viewDidAppear(_ animated: Bool) {
        
        super.viewDidAppear(animated)
    
        // Setup your camera here...
        captureSession = AVCaptureSession()
        captureSession.sessionPreset = .high
        
        let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(
                    deviceTypes: [.builtInWideAngleCamera],
                    mediaType: .video,
                    position: .unspecified
                )
        
        for device in deviceDiscoverySession.devices {
                    switch device.position {
                    case AVCaptureDevice.Position.front:
                        frontCamera = device
                    case AVCaptureDevice.Position.back:
                        backCamera = device
                    default:
                        break
                    }
                }
        
        do {
            let input = try AVCaptureDeviceInput(device: frontCamera!)
            
            stillImageOutput = AVCapturePhotoOutput()

            if captureSession.canAddInput(input) && captureSession.canAddOutput(stillImageOutput) {
                captureSession.addInput(input)
                captureSession.addOutput(stillImageOutput)
                setupLivePreview()
            }
        }
        catch let error  {
            print("Error Unable to initialize back camera:  \(error.localizedDescription)")
        }
        
    }
ppol2918
  • 15
  • 4

0 Answers0