Class

PHContentEditingInput

A container that provides information about and access to the image, video, or Live Photo content of an asset to be edited.

Declaration

@interface PHContentEditingInput : NSObject

Overview

To edit an asset’s photo or video content:

  1. Fetch a PHAsset object that represents the photo or video to be edited.

  2. Call the asset’s requestContentEditingInputWithOptions:completionHandler: method to retrieve a PHContentEditingInput object.

  3. Apply your edits to the asset. To allow a user to continue working with the edit later (for example, to adjust the parameters of a photo filter), create a PHAdjustmentData object describing the changes.

  4. Initialize a PHContentEditingOutput object. For photo- or video-only assets, use the editing output’s properties to provide edited asset data. For Live Photo assets, create a PHLivePhotoEditingContext object to edit the Live Photo content.

  5. Use a photo library change block to commit the edit. In the block, create a PHAssetChangeRequest object and set its contentEditingOutput property to the editing output that you created. For more details, see PHPhotoLibrary.

You can also edit assets from photo editing extensions. In this case, instead of working with a PHAsset object, you implement methods in the PHContentEditingController protocol. Photos provides a PHContentEditingInput object when your extension begins editing. When editing is complete, Photos requests a PHContentEditingOutput object that contains the edited asset content.

Topics

Getting Information About the Asset

mediaType

The type of the asset, such as video or audio.

PHAssetMediaType

Constants identifying the general type of an asset, such as image or video.

mediaSubtypes

The subtypes of the asset, identifying special kinds of assets such as a panoramic photo or a high-frame-rate video.

PHAssetMediaSubtype

Constants identifying specific variations of asset media, such as panorama or screenshot photos and time lapse or high frame rate video.

creationDate

The date and time when the asset was originally created.

location

The location information that was saved with the asset.

uniformTypeIdentifier

The uniform type identifier for the asset’s image or video data.

Working with Previous Edits

adjustmentData

An object that describes the most recent edit to the asset’s content.

Working with Photo Assets

displaySizeImage

An image of the asset’s contents, appropriately sized for display.

fullSizeImageOrientation

The Exif display orientation of the full-size image file.

fullSizeImageURL

The URL to a file that contains the full-sized image data.

Working with Video Assets

audiovisualAsset

The video asset, as an AVAsset object.

avAsset

The video asset, as an AVAsset object.

Working with Live Photo Assets

livePhoto

The unedited Live Photo content of the editing input.

Relationships

Inherits From

See Also

Editing an Asset

Editing Asset Content

Make a request to modify and save a photo or video asset.

PHContentEditingOutput

A container to which you provide the results of editing the photo, video, or Live Photo content of a Photos asset.

PHAdjustmentData

A description of the edits made to an asset's photo, video, or Live Photo content, which allows your app to reconstruct or revert the effects of prior editing sessions.

PHContentEditingInputRequestOptions

A set of options affecting the delivery of image or video data when you request to edit the content of a Photos asset.

PHLivePhotoEditingContext

An editing session for modifying the photo, video, and audio content of a Live Photo.

PHLivePhotoFrame

A container that provides image content for a single frame of a Live Photo in an editing context.

- canPerformEditOperation:

Returns whether the asset supports the specified editing operation.

PHAssetEditOperation

Values identifying possible actions an asset can support, used by the canPerformEditOperation: method.

- requestContentEditingInputWithOptions:completionHandler:

Requests asset information for beginning a content editing session.

- cancelContentEditingInputRequest:

Cancels a request for editing the asset’s content.

PHContentEditingInputRequestID

An identifier for an asset content editing session.

Editing Request Info Keys

Keys indicating the status of an asset content editing request, used in the completion handler of the requestContentEditingInputWithOptions:completionHandler: method.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software