<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PhotoKit",
  "identifier" : "/documentation/Photos",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Photos"
    ],
    "preciseIdentifier" : "Photos"
  },
  "title" : "Photos"
}
-->

# Photos

Work with image and video assets that the Photos app manages, including those from iCloud Photos and Live Photos.

## Overview

Use PhotoKit to access image and video assets that the Photos app manages in iOS, macOS, tvOS, and visionOS. You might use this framework to edit or display a person’s photos, or to manage collections of assets such as albums, Moments, and Shared Albums. The framework provides access to photos on the person’s device and in iCloud.

> Note: Photos is a <doc://com.apple.photokit/documentation/PhotoKit> framework.

## Topics

### Shared photo library

[`PHPhotoLibrary`](/documentation/Photos/PHPhotoLibrary)

An object that manages access and changes to a person’s photo library.

### Asset retrieval

  <doc://com.apple.photokit/documentation/PhotoKit/fetching-objects-and-requesting-changes>

[`PHAsset`](/documentation/Photos/PHAsset)

A representation of an image, video, or Live Photo in the Photos library.

[`PHAssetCollection`](/documentation/Photos/PHAssetCollection)

A representation of a Photos asset grouping, such as Moments, a user-created album, or a Smart Album.

[`PHCollection`](/documentation/Photos/PHCollection)

The abstract superclass for Photos asset collections and collection lists.

[`PHCollectionList`](/documentation/Photos/PHCollectionList)

A group containing Photos asset collections, such as Moments, Years, or folders of user-created albums.

[`PHObject`](/documentation/Photos/PHObject)

The abstract superclass for Photos model objects, including assets and collections.

[`PHFetchResult`](/documentation/Photos/PHFetchResult)

An ordered list of assets or collections returned from a Photos fetch method.

[`PHFetchOptions`](/documentation/Photos/PHFetchOptions)

A set of options that affect the filtering, sorting, and management of results that Photos returns when you fetch asset or collection objects.

### Asset loading

  <doc://com.apple.photokit/documentation/PhotoKit/loading-and-caching-assets-and-thumbnails>

[`PHImageManager`](/documentation/Photos/PHImageManager)

An object that facilitates retrieving or generating preview thumbnails and asset data.

[`PHCachingImageManager`](/documentation/Photos/PHCachingImageManager)

An object that facilitates retrieving or generating preview thumbnails, optimized for batch preloading large numbers of assets.

[`PHImageRequestOptions`](/documentation/Photos/PHImageRequestOptions)

A set of options affecting the delivery of still image representations of Photos assets you request from an image manager.

[`PHVideoRequestOptions`](/documentation/Photos/PHVideoRequestOptions)

A set of options affecting the delivery of video asset data that you request from an image manager.

[`PHLivePhotoRequestOptions`](/documentation/Photos/PHLivePhotoRequestOptions)

A set of options affecting the delivery of Live Photo assets you request from an image manager.

### Asset metadata

[`PHAssetExtendedMetadata`](/documentation/Photos/PHAssetExtendedMetadata)

Represents other asset attributes that are not included when fetching `PHAsset` directly.

### Asset resource management

[`PHAssetResource`](/documentation/Photos/PHAssetResource)

An underlying data resource associated with a photo, video, or Live Photo asset in the Photos library.

[`PHAssetCreationRequest`](/documentation/Photos/PHAssetCreationRequest)

A request to create a new Photos asset from underlying data resources, for use in a photo library change block.

[`PHAssetResourceCreationOptions`](/documentation/Photos/PHAssetResourceCreationOptions)

A set of options affecting the creation of a new Photos asset from underlying resources.

[`PHAssetResourceManager`](/documentation/Photos/PHAssetResourceManager)

A resource manager for the data storage underlying a Photos asset.

[`PHAssetResourceRequestOptions`](/documentation/Photos/PHAssetResourceRequestOptions)

A set of options affecting the delivery of underlying asset data that you request from the asset-resource manager.

### Background resource upload extensions

  <doc://com.apple.photokit/documentation/PhotoKit/uploading-asset-resources-in-the-background>

[`PHBackgroundResourceUploadExtension`](/documentation/Photos/PHBackgroundResourceUploadExtension)

[`PHAssetResourceUploadJob`](/documentation/Photos/PHAssetResourceUploadJob)

An object that represents a request to upload an asset resource.

[`PHAssetResourceUploadJobChangeRequest`](/documentation/Photos/PHAssetResourceUploadJobChangeRequest)

Use within an application’s `com.apple.photos.background-upload` extension to create and change [`PHAssetResourceUploadJob`](/documentation/Photos/PHAssetResourceUploadJob) records.

### Live Photos

[`PHLivePhoto`](/documentation/Photos/PHLivePhoto)

A displayable representation of a Live Photo.

### Errors

[`PHPhotosError`](/documentation/Photos/PHPhotosError-swift.struct)

A structure that represents a framework error.

[`PHPhotosErrorDomain`](/documentation/Photos/PHPhotosErrorDomain)

A string representation of the error domain.

### Deprecated errors

  <doc://com.apple.photokit/documentation/PhotoKit/deprecated-errors>

### Classes

[`PHProject`](/documentation/Photos/PHProject)

A representation of a Photos app project extension.

[`PHProjectChangeRequest`](/documentation/Photos/PHProjectChangeRequest)

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



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)