---
title: PHProjectInfo
framework: photosui
role: symbol
role_heading: Class
path: photosui/phprojectinfo
---

# PHProjectInfo

Information about the project extension.

## Declaration

```swift
class PHProjectInfo
```

## Overview

Overview macOS Photos automatically generates a PHProjectInfo object when creating a new project. Photos passes along the project information with a PHProjectExtensionContext object. This object contains metadata about the project’s creation source, sections, product type, branding, and page numbers. Your extension leverages project information to influence project layout, autoflow, and theme selection. The properties of this class are immutable, and your extension can’t instantiate the object directly.

## Topics

### Determining Project Type

- [projectType](photosui/phprojectinfo/projecttype.md)
- [PHProjectType](photosui/phprojecttype.md)
- [creationSource](photosui/phprojectinfo/creationsource-swift.property.md)
- [sections](photosui/phprojectinfo/sections.md)
- [PHProjectTypeDescription](photosui/phprojecttypedescription.md)
- [PHProjectTypeDescriptionDataSource](photosui/phprojecttypedescriptiondatasource.md)
- [PHProjectTypeDescriptionInvalidator](photosui/phprojecttypedescriptioninvalidator.md)
- [PHProjectInfo.CreationSource](photosui/phprojectinfo/creationsource-swift.enum.md)

### Creating a Project from an Apple Print Product

- [brandingEnabled](photosui/phprojectinfo/brandingenabled.md)
- [pageNumbersEnabled](photosui/phprojectinfo/pagenumbersenabled.md)
- [productIdentifier](photosui/phprojectinfo/productidentifier.md)
- [themeIdentifier](photosui/phprojectinfo/themeidentifier.md)

### Initializers

- [init(coder:)](photosui/phprojectinfo/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### macOS Photos Project Extensions

- [Creating a Slideshow Project Extension for Photos](photokit/creating-a-slideshow-project-extension-for-photos.md)
- [PHProject](photos/phproject.md)
- [PHProjectExtensionContext](photosui/phprojectextensioncontext.md)
- [PHProjectElement](photosui/phprojectelement.md)
- [PHProjectSection](photosui/phprojectsection.md)
- [PHProjectRegionOfInterest](photosui/phprojectregionofinterest.md)
- [PHProjectChangeRequest](photos/phprojectchangerequest.md)
- [PHProjectExtensionController](photosui/phprojectextensioncontroller.md)
- [PHProjectCategory](photosui/phprojectcategory.md)
