Instance Method


Processes and saves a full-quality Live Photo as the output of your editing session.


func saveLivePhoto(to output: PHContentEditingOutput, options: [String : Any]? = nil, completionHandler handler: @escaping (Bool, Error?) -> Void)



The photo editing output to receive the rendered Live Photo, created from the same PHContentEditingInput object you used to begin this Live Photo editing context.


Options that affect Live Photo rendering. See Live Photo Processing Options.


A block that Photos calls on the main queue after rendering is complete. The block takes the following parameters:


true if rendering succeeds; otherwise false.


If rendering succeeds, this parameter is nil. If rendering fails, this parameter contains an error object describing the failure.


Use this method when you have finished an editing session and need to provide rendered output in a PHContentEditingOutput object. Unlike when rendering output for a photo or video asset, you don’t need to provide rendered output using the renderedContentURL property of the editing output object. Instead, create a PHContentEditingOutput object using the init(contentEditingInput:) initializer, passing the same PHContentEditingInput object you used in the PHLivePhotoFrameProcessingBlock initializer to start this Live Photo editing context. Then pass that editing output object to this method, and Photos renders the Live Photo and provides it to the editing output.

After this method’s completion handler signals successful rendering, you use the content editing output to complete the edit. In an app using the Photos framework, create a PHAssetChangeRequest object inside a PHPhotoLibraryperformChanges block, and set its contentEditingOutput property to your editing output. In a photo editing extension running in the Photos app, your main view controller provides content editing output when requested by the finishContentEditing(completionHandler:) method.

See Also

Processing an Editing Context’s Live Photo

struct PHLivePhotoEditingOption

Keys for the options dictionary used with the methods listed in Processing an Editing Context’s Live Photo.

func cancel()

Aborts any Live Photo processing in progress.