【发布时间】:2018-08-10 07:37:45
【问题描述】:
我查看了Here 的解决方案,并尝试了几个,但没有一个有效。也许我遇到的这个问题可以帮助一些没有从我提供的链接中获得解决方案的人。
我正在尝试设置相机,但是,当我运行该应用程序时,我得到了以下信息。
在展开可选值时意外发现 nil
这发生在以下行:
func setupInputOutput() {
// if currentCamera != nil {
do {
let captureDeviceInput = try AVCaptureDeviceInput(device: currentCamera!) //Here error happens
captureSession.addInput(captureDeviceInput)
photoOutput?.setPreparedPhotoSettingsArray([AVCapturePhotoSettings(format: [AVVideoCodecKey: AVVideoCodecType.jpeg])], completionHandler: nil)
} catch {
print("error -- \(error)")
}
// }
}
我声明 currentCamera 如下所示:
var currentCamera: AVCaptureDevice?
【问题讨论】:
-
您只是在声明“currentCamera”。您还应该初始化它。 currentCamera = AVCaptureDevice.default(for: AVMediaType.video)
-
你还没有为 currentCamera 赋值,所以它的值为 nil,在评估它之前还要检查使用 if 条件的值。
标签: ios iphone swift camera avfoundation