Instance Property


A Boolean value that specifies whether to configure the capture pipeline for Live Photo capture.


var isLivePhotoCaptureEnabled: Bool { get set }


A Live Photo captures both a still image and a short movie centered on the moment of capture, which are presented together in user interfaces such as the Photos app.

Capturing Live Photos requires that a capture session set up its internal rendering pipeline differently. If you intend to take Live Photos at all, set this property to true before calling the AVCaptureSession startRunning() method. Changing this property while the session is running requires a lengthy reconfiguration of the capture render pipeline: Live Photo captures in progress will end immediately, unfulfilled photo requests will abort, and video preview will temporarily freeze.

You must enable this option before initiating a photo capture with the livePhotoMovieFileURL property of your photo settings object set to non-nil. However, after you’ve enabled this option, you are free to issue photo capture requests for both Live Photos and still photos.

See Also

Configuring Live Photo Capture

var isLivePhotoCaptureSupported: Bool

A Boolean value indicating whether the capture output currently supports Live Photo capture.

var isLivePhotoCaptureSuspended: Bool

A Boolean value that specifies whether to suspend, but not disable, Live Photo capture.

var isLivePhotoAutoTrimmingEnabled: Bool

A Boolean value that specifies whether to automatically trim Live Photo movie captures to avoid excessive movement.

var availableLivePhotoVideoCodecTypes: [AVVideoCodecType]

The list of video codecs currently available for capturing Live Photos with the photo output.