---
title: PHProjectTypeDescription
framework: photosui
role: symbol
role_heading: Class
path: photosui/phprojecttypedescription
---

# PHProjectTypeDescription

An extensible enumerator for PHProjectType that’s presented to users in the project picker.

## Declaration

```swift
class PHProjectTypeDescription
```

## Overview

Overview This object represents one project type choice presented in the project picker when a user is creating a project through project extensions. The PHProjectTypeDescriptionDataSource object returns this descriptor from typeDescriptionDataSource(for:invalidator:).

## Topics

### Creating a Project Type Description

- [init(projectType:title:description:image:)](photosui/phprojecttypedescription/init(projecttype:title:description:image:).md)
- [init(projectType:title:description:image:subtypeDescriptions:)](photosui/phprojecttypedescription/init(projecttype:title:description:image:subtypedescriptions:).md)
- [init(projectType:title:attributedDescription:image:subtypeDescriptions:)](photosui/phprojecttypedescription/init(projecttype:title:attributeddescription:image:subtypedescriptions:).md)
- [init(projectType:title:description:image:canProvideSubtypes:)](photosui/phprojecttypedescription/init(projecttype:title:description:image:canprovidesubtypes:).md)
- [init(projectType:title:attributedDescription:image:canProvideSubtypes:)](photosui/phprojecttypedescription/init(projecttype:title:attributeddescription:image:canprovidesubtypes:).md)

### Describing a Project Type

- [projectType](photosui/phprojecttypedescription/projecttype.md)
- [localizedTitle](photosui/phprojecttypedescription/localizedtitle.md)
- [localizedDescription](photosui/phprojecttypedescription/localizeddescription.md)
- [localizedAttributedDescription](photosui/phprojecttypedescription/localizedattributeddescription.md)
- [image](photosui/phprojecttypedescription/image.md)
- [subtypeDescriptions](photosui/phprojecttypedescription/subtypedescriptions.md)
- [canProvideSubtypes](photosui/phprojecttypedescription/canprovidesubtypes.md)

### Initializers

- [init(coder:)](photosui/phprojecttypedescription/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

### Determining Project Type

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