The signature for a block Photos calls to process Live Photo frames.
SDKs
- iOS 10+
- macOS 10.12+
- Mac Catalyst 13.0+
- tvOS 10+
Framework
- Photos
Declaration
typealias PHLivePhotoFrameProcessingBlock = (PHLive Photo Frame, NSError Pointer) -> CIImage?
Discussion
To apply edits to a Live Photo, define a block with this signature and assign it to the frame
property of a Live Photo editing context. Then call the init(live
to prepare a preview-quality version of your edits for display, or the save
method to produce full-quality final output. When you call one of those methods, Photos calls your frame processor block repeatedly—processing each frame of the Live Photo’s video content as well as its still photo content—to render the output.
This block takes the following parameters:
- frame
A
PHLive
object describing the frame image to be processed.Photo Frame - error
If your block cannot successfully process the frame, set this pointer to an error object describing the failure.
Your block should return a CIImage
object representing the result of your edits, or nil
to indicate that your image processing has failed and the Live Photo edit should be aborted. Use the frame
parameter’s image
property to access the image to be edited.