AVCaptureDevice 设备为空

AVCaptureDevice devices are empty

我正在尝试用这个 tutorial

创建一个二维码扫描器

我没有任何设备。

let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera], mediaType: AVMediaType.video, position: .back)
print(deviceDiscoverySession.devices.isEmpty)//true

我查了类似的问题

- 我没有在目标设置/功能中看到 App Sandbox

Question 2 - 我是 运行 在 iPhone 6 真实设备中的项目,而不是在模拟器中。和 AVCaptureDevice.authorizationStatus(for: AVMediaType.video) returns .authorized。我在 info.plist

中添加了相机访问说明

并非所有 iPhone 都包含双摄像头,这就是 devices 为空的原因。

您可以尝试添加此设备类型:[.builtInWideAngleCamera].

Here is all available device types for now.

关于 双摄像头 - check this 的问题也有很好的答案。

希望对您有所帮助!