A request to change asset data in a Photos project extension.


class PHProjectChangeRequest : PHChangeRequest


Make a project change request to alter a project's title or metadata. Respond to project change requests by updating your user interface as assets are added, modified, or removed.


Creating Change Requests

init(project: PHProject)

Creates a change request around the specified project.

var title: String

The title of the change request.

var projectExtensionData: Data

Compressed project-specific data to use in the change request.

Responding to Change Requests

func setProjectPreviewImage(NSImage)

Updates the project preview in Photos.

func setKeyAsset(PHAsset?)

Sets the key asset representing the project.


Removing Assets

func removeAssets<T>(T)

Removes assets of a certain type from the collection.

func removeAssets(PHFetchResult<PHAsset>)

Removes assets based on a fetch result.


Inherits From

Conforms To

See Also

macOS Photos Project Extensions

Creating a Slideshow Project Extension for Photos

Augment the macOS Photos app with extensions that support project creation.

class PHProject

A representation of a Photos app project extension.

class PHProjectInfo

Information about the project extension.

class PHProjectExtensionContext

An object that provides Photos project extensions with access to the underlying project, as well as to the user's photo library for editing.

class PHProjectElement

The superclass for all element objects.

class PHProjectSection

A collection of content representing curated asset and text elements.

class PHProjectRegionOfInterest

A representation of a region of interest in a photo asset.

protocol PHProjectExtensionController

A protocol defining the life cycle and supported types of project extensions.

class PHCloudIdentifier

A cloud identifier for a Photos project extension.

struct PHProjectCategory

A representation of Photos project extension categories.