Instance Property


A value controlling the allowable range for automatic focusing.


var autoFocusRangeRestriction: AVCaptureDevice.AutoFocusRangeRestriction { get set }


By default, a device capable of hardware focusing attempts to focus on objects at any distance. If you expect to focus primarily on near or far objects, set a range restriction to increase the speed and reduce the power consumption of automatic focusing, and to reduce the chance of focusing ambiguities.

Before changing the value of this property, you must call lockForConfiguration() to acquire exclusive access to the device’s configuration properties. Otherwise, setting the value of this property raises an exception. When you finish configuring the device, call unlockForConfiguration() to release the lock and allow other devices to configure the settings.

See Also

Managing Focus Settings

var focusMode: AVCaptureDevice.FocusMode

The capture device’s focus mode.

func isFocusModeSupported(AVCaptureDevice.FocusMode) -> Bool

Returns a Boolean value that indicates whether the device supports the given focus mode.

var focusPointOfInterest: CGPoint

The point of interest for focusing.

var isFocusPointOfInterestSupported: Bool

Indicates whether the device supports a point of interest for focus.

var isAdjustingFocus: Bool

Indicates whether the device is currently adjusting its focus setting.

var isSmoothAutoFocusEnabled: Bool

A Boolean value that determines whether the device has smooth autofocus enabled.

var isSmoothAutoFocusSupported: Bool

A Boolean value that indicates whether the device supports smooth autofocus.

var isAutoFocusRangeRestrictionSupported: Bool

A Boolean value that indicates whether the device supports focus range restrictions.

enum AVCaptureDevice.FocusMode

Constants to specify the focus mode of a capture device.

enum AVCaptureDevice.AutoFocusRangeRestriction

Constants to specify the autofocus range of a capture device.