<!--
{
  "documentType" : "article",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/capture-device-exposure",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Exposure"
}
-->

# Exposure

Configure the automatic exposure behavior of a camera, or manually control its exposure settings.

## Topics

### Managing the exposure mode

[`-  isExposureModeSupported:`](/documentation/AVFoundation/AVCaptureDevice/isExposureModeSupported(_:))

Returns a Boolean value that indicates whether a device supports the specified exposure mode.

[`exposureMode`](/documentation/AVFoundation/AVCaptureDevice/exposureMode-swift.property)

The exposure mode for the device.

[`ExposureMode`](/documentation/AVFoundation/AVCaptureDevice/ExposureMode-swift.enum)

Constants that specify the exposure mode of a capture device.

### Setting an exposure point of interest

[`exposurePointOfInterestSupported`](/documentation/AVFoundation/AVCaptureDevice/isExposurePointOfInterestSupported)

A Boolean value that indicates whether the device supports a point of interest for exposure.

[`exposurePointOfInterest`](/documentation/AVFoundation/AVCaptureDevice/exposurePointOfInterest)

The point of interest for exposure.

### Setting an exposure rectangle of interest

[`exposureRectOfInterestSupported`](/documentation/AVFoundation/AVCaptureDevice/isExposureRectOfInterestSupported)

Whether the device supports exposure rectangles of interest.

[`exposureRectOfInterest`](/documentation/AVFoundation/AVCaptureDevice/exposureRectOfInterest)

The device’s current exposure rectangle of interest, if it has one.

[`minExposureRectOfInterestSize`](/documentation/AVFoundation/AVCaptureDevice/minExposureRectOfInterestSize)

The minimum size you may use when specifying a rectangle of interest.

[`-  defaultRectForExposurePointOfInterest:`](/documentation/AVFoundation/AVCaptureDevice/defaultRectForExposurePoint(ofInterest:))

The default rectangle of interest used for a given exposure point of interest.

### Configuring face-driven automatic exposure

[`faceDrivenAutoExposureEnabled`](/documentation/AVFoundation/AVCaptureDevice/isFaceDrivenAutoExposureEnabled)

A Boolean value that indicates whether the device has face-driven autoexposure enabled.

[`automaticallyAdjustsFaceDrivenAutoExposureEnabled`](/documentation/AVFoundation/AVCaptureDevice/automaticallyAdjustsFaceDrivenAutoExposureEnabled)

A Boolean value that indicates whether the device automatically adjusts face-driven autoexposure.

### Monitoring exposure changes

[`adjustingExposure`](/documentation/AVFoundation/AVCaptureDevice/isAdjustingExposure)

A Boolean value that indicates whether the device is currently adjusting its exposure setting.

### Adjusting exposure compensation

[`exposureTargetOffset`](/documentation/AVFoundation/AVCaptureDevice/exposureTargetOffset)

The metered exposure level’s offset from the target exposure value, in exposure value (EV) units.

[`exposureTargetBias`](/documentation/AVFoundation/AVCaptureDevice/exposureTargetBias)

The bias to apply to the target exposure value, in exposure value (EV) units.

[`minExposureTargetBias`](/documentation/AVFoundation/AVCaptureDevice/minExposureTargetBias)

The minimum supported exposure bias, in exposure value (EV) units.

[`maxExposureTargetBias`](/documentation/AVFoundation/AVCaptureDevice/maxExposureTargetBias)

The maximum supported exposure bias, in exposure value (EV) units.

[`AVCaptureExposureTargetBiasCurrent`](/documentation/AVFoundation/AVCaptureDevice/currentExposureTargetBias)

A special constant that represents the current exposure bias value.

[`-  setExposureTargetBias:completionHandler:`](/documentation/AVFoundation/AVCaptureDevice/setExposureTargetBias(_:completionHandler:))

Sets the bias to apply to the target exposure value.

### Configuring exposure manually

[`-  setExposureModeCustomWithDuration:ISO:completionHandler:`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(duration:iso:completionHandler:))

Sets the exposure mode to a custom state, and locks exposure duration and ISO at explicit values.

[`-  setExposureModeCustomWithLensAperture:duration:ISO:completionHandler:`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(lensAperture:duration:iso:completionHandler:))

Sets a custom exposure mode with the specified lens aperture, exposure duration, and ISO values.

[`AVCaptureExposureDurationAuto`](/documentation/AVFoundation/AVCaptureDevice/autoExposureDuration)

A special value that may be passed as the duration parameter of a device’s `setExposureModeCustom...` methods to allow the system’s auto-exposure system to manage the exposure duration.

[`AVCaptureISOAuto`](/documentation/AVFoundation/AVCaptureDevice/autoISO)

A special value that may be passed as the ISO parameter of a device’s `setExposureModeCustom...` methods to allow the system’s auto-exposure system to manage the gain value.

[`AVCaptureLensApertureAuto`](/documentation/AVFoundation/AVCaptureDevice/autoLensAperture)

A special value that may be passed as the lensAperture parameter of a device’s `setExposureModeCustom...` methods to allow the system’s auto-exposure system to manage the aperture.

[`AVCaptureLensApertureCurrent`](/documentation/AVFoundation/AVCaptureDevice/currentLensAperture)

A special value that may be passed as the lensAperture parameter of a device’s `setExposureModeCustom...` methods to lock at the current position.

[`exposureDuration`](/documentation/AVFoundation/AVCaptureDevice/exposureDuration)

The length of time over which exposure takes place.

[`ISO`](/documentation/AVFoundation/AVCaptureDevice/iso)

The current exposure ISO value.

[`lensAperture`](/documentation/AVFoundation/AVCaptureDevice/lensAperture)

The size of the lens diaphragm.

[`activeMaxExposureDuration`](/documentation/AVFoundation/AVCaptureDevice/activeMaxExposureDuration)

The maximum exposure duration, in seconds, defined in the autoexposure algorithm.

[`automaticallyAdjustsExposureDuration`](/documentation/AVFoundation/AVCaptureDevice/automaticallyAdjustsExposureDuration)

This property reports true whenever exposureDuration is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureExposureDurationAuto` to the duration parameter of [`setExposureModeCustom(duration:iso:completionHandler:)`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(duration:iso:completionHandler:)) or [`setExposureModeCustom(lensAperture:duration:iso:completionHandler:)`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(lensAperture:duration:iso:completionHandler:)).

[`automaticallyAdjustsISO`](/documentation/AVFoundation/AVCaptureDevice/automaticallyAdjustsISO)

This property reports true whenever ISO is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureISOAuto` to the ISO parameter of [`setExposureModeCustom(duration:iso:completionHandler:)`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(duration:iso:completionHandler:)) or [`setExposureModeCustom(lensAperture:duration:iso:completionHandler:)`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(lensAperture:duration:iso:completionHandler:)).

[`automaticallyAdjustsLensAperture`](/documentation/AVFoundation/AVCaptureDevice/automaticallyAdjustsLensAperture)

This property reports true whenever lensAperture is unlocked, either by setting exposureMode to one of the automatic modes, or by passing `AVCaptureLensApertureAuto` to the aperture parameter of [`setExposureModeCustom(lensAperture:duration:iso:completionHandler:)`](/documentation/AVFoundation/AVCaptureDevice/setExposureModeCustom(lensAperture:duration:iso:completionHandler:)).

[`autoExposureLensApertureRateLimit`](/documentation/AVFoundation/AVCaptureDevice/autoExposureLensApertureRateLimit)

Specifies a rate limit for aperture motion, whenever auto-exposure is active.

### Configuring exposure signals

[`activeExposureSignals`](/documentation/AVFoundation/AVCaptureDevice/activeExposureSignals)

Reports which characteristics the auto exposure system associates with the current scene. Auto exposure may adjust properties such as lens aperture size based on these factors. This property is key-value observable.

[`enabledExposureSignals`](/documentation/AVFoundation/AVCaptureDevice/enabledExposureSignals)

Can be assigned to control which characteristics AE should use in its decision making, must be a subset of supportedExposureSignals.

[`supportedExposureSignals`](/documentation/AVFoundation/AVCaptureDevice/supportedExposureSignals)

Indicates what values can be included in `enabledExposureSignals`. This property is key-value observable.

[`automaticallyEnablesExposureSignals`](/documentation/AVFoundation/AVCaptureDevice/automaticallyEnablesExposureSignals)

When true (the default), capture sessions may automatically modify `enabledExposureSignals` based on changes to other device or session properties.

[`AVCaptureDeviceExposureSignal`](/documentation/AVFoundation/AVCaptureDeviceExposureSignal)

Values that can be used to configure the auto exposure system via [`enabledExposureSignals`](/documentation/AVFoundation/AVCaptureDevice/enabledExposureSignals) and associated methods.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)