Julian Steenbakker
Committed by GitHub

Merge pull request #483 from CoryADavis/ios-camera-discovery-for-modern-devices

feat(iOS): Support the most recent camera device types
@@ -122,7 +122,11 @@ public class MobileScanner: NSObject, AVCaptureVideoDataOutputSampleBufferDelega @@ -122,7 +122,11 @@ public class MobileScanner: NSObject, AVCaptureVideoDataOutputSampleBufferDelega
122 textureId = registry?.register(self) 122 textureId = registry?.register(self)
123 123
124 // Open the camera device 124 // Open the camera device
125 - if #available(iOS 10.0, *) { 125 + if #available(iOS 13.0, *) {
  126 + device = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInTripleCamera, .builtInDualWideCamera, .builtInDualCamera, .builtInWideAngleCamera], mediaType: .video, position: cameraPosition).devices.first
  127 + } else if #available(iOS 10.2, *) {
  128 + device = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera, .builtInWideAngleCamera], mediaType: .video, position: cameraPosition).devices.first
  129 + } else if #available(iOS 10.0, *) {
126 device = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: cameraPosition).devices.first 130 device = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: cameraPosition).devices.first
127 } else { 131 } else {
128 device = AVCaptureDevice.devices(for: .video).filter({$0.position == cameraPosition}).first 132 device = AVCaptureDevice.devices(for: .video).filter({$0.position == cameraPosition}).first