我使用AVCaptureStillImageOutput
在iOS上捕捉照片。
为了拍摄照片,我打电话给captureStillImageAsynchronously
。
这需要连接,所以我使用:
let connection = stillImageOutput.connection(withMediaType: AVMediaTypeVideo)
然而,在 iOS 9.3.5 的某些设备 iPad 2 上,我看到返回的连接为nil。
我还尝试使用以下方法迭代所有连接:
stillImageOutput.connections
这表明没有可用的连接。
还有其他人遇到过这个问题吗?还有另一种更好的方法来获得连接吗?我意识到我使用了一个已弃用的类但是新方法在iOS 9上不可用,我们仍然需要支持这个平台。顺便说一句,相机应用程序本身似乎在这个设备上工作正常。
还注意到canAddInput
上的AVCaptureSession
返回false。
输入如下:
guard let captureDevices = AVCaptureDevice.devices(withMediaType: AVMediaTypeVideo) as? [AVCaptureDevice],
let captureDevice = captureDevices.first(where: { $0.position == .back }),
let captureDeviceInput = try? AVCaptureDeviceInput(device: captureDevice) else {
return
}