A representation of a Photos app project extension.


class PHProject : PHAssetCollection


This class represents the project when extended from macOS Photos. Projects can have the following types:

  • Book

  • Calendar

  • Card

  • Prints

  • Slideshow

  • Wall decor

Users create projects by selecting one or more assets, right-clicking the selection, and grouping the assets, much like an album collection. Your app treats the project as a separate entity, represented as a PHProject.


Project Extension Properties

var hasProjectPreview: Bool

A property that indicates whether a project preview was previously set.

var projectExtensionData: Data

Data associated with the project extension.


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 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.

class PHProjectChangeRequest

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

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.