Values identifying the general type of a capture device, used with the default(_:for:position:) method and the AVCaptureDevice.DiscoverySession class.


struct DeviceType



init(rawValue: String)

Creates an AVCaptureDevice.DeviceType value from its string representation.

Capture Device Types

static let builtInWideAngleCamera: AVCaptureDevice.DeviceType

A built-in wide-angle camera. These devices are suitable for general-purpose use.

static let builtInTelephotoCamera: AVCaptureDevice.DeviceType

A built-in camera device with a longer focal length than a wide-angle camera.

static let builtInDualCamera: AVCaptureDevice.DeviceType

A combination of wide-angle and telephoto cameras that creates a capture device.

static let builtInTrueDepthCamera: AVCaptureDevice.DeviceType

A combination of cameras and other sensors that creates a capture device capable of photo, video, and depth capture.


See Also

Discovering Devices

class AVCaptureDevice.DiscoverySession

A query for finding and monitoring available capture devices.

class func `default`(AVCaptureDevice.DeviceType, for: AVMediaType?, position: AVCaptureDevice.Position) -> AVCaptureDevice?

Returns the default device for the specified device type, media type, and position.

class func devices() -> [AVCaptureDevice]

Returns an array of the available capture devices on the system.

init?(uniqueID: String)

Returns the device with a given ID.

class func `default`(for: AVMediaType) -> AVCaptureDevice?

Returns the default device used to capture data of a given media type.

class func devices(for: AVMediaType) -> [AVCaptureDevice]

Returns an array of the devices able to capture data of a given media type.

enum AVCaptureDevice.Position

Constants to specify the position of a capture device.

static let AVCaptureDeviceWasConnected: NSNotification.Name

Posted when a new device becomes available.

static let AVCaptureDeviceWasDisconnected: NSNotification.Name

Posted when an existing device becomes unavailable.