IOS devicesWithMediaType deprecated

AVCaptureDevice.default(.builtInWideAngleCamera, for: AVMediaTypeVideo, position: .front)

I think something like that would work. I think the AVCapture.DiscoverySession's initializer may be helpful as well. See the documentation and the stack overflow post on something similar in swift. Let me know if it helped!:)

  • https://developer.apple.com/documentation/avfoundation/avcapturedevice
  • How to get front camera, back camera and audio with AVCaptureDeviceDiscoverySession
  • https://developer.apple.com/documentation/avfoundation/avcapturedevice.discoverysession/2361539-init

Create AVCaptureDeviceDiscoverySession for your requirement and then call devices method to get Array of currently available devices matching the session’s criteria

Code:

AVCaptureDeviceDiscoverySession *captureDeviceDiscoverySession = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera] 
                                      mediaType:AVMediaTypeVideo 
                                       position:AVCaptureDevicePositionBack];
NSArray *captureDevices = [captureDeviceDiscoverySession devices];

Swift 4+

let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .back)

Available

Device types

Media types

Position