iOS Guides | Samples

MonoTouch.Photos Namespace

The Photos namespace provides classes for manipulating photo and video assets managed by the Photos App, including iCloud photos.


The Photos namespace, introduced in iOS 8, allows application developers to manipulate photos and videos managed by the Photos app, including iCloud photos.

Capabilities of the Photos namespace include:

  • Fetching assets and collections of assets.
  • Editing assets, including support for reverting changes.
  • Observing changes in assets.
  • Acces to Photos-provided data such as the Moments hierarchy, high-framerate video captures, whether photos were captured with panorama or burst mode, etc..
  • Loading thumbnails and caching assets.


IPHLivePhotoFrameDefines the interface for Live Photo frames that are produced by the system.
IPHPhotoLibraryChangeObserverInterface representing the required methods (if any) of the protocol PHPhotoLibraryChangeObserver.
PHAdjustmentDataApplication-specific "recipe" data for the most recent edit made to a PHAsset.
PHAssetA PHObject representing a single photo or video.
PHAssetBurstSelectionTypeIndicates whether the Photos app or the user selected an asset as a favorite.
PHAssetChangeRequestUsed within a Photos change block to create, update, or delete PHAsset objects.
PHAssetCollectionA collection of PHAssets.
PHAssetCollectionChangeRequestUsed within a Photos change block to create, update, or delete PHAssetCollection objects..
PHAssetCollectionSubtypeEnumerates values that describe the particular subtype (For example, time lapses, bursts, shared collections in the cloud, and etc.) of an asset collection.
PHAssetCollectionTypeEnumerates varieties of PHAssetCollection.
PHAssetContentEditingInputExtensionsExtension methods for PHAsset objects.
PHAssetCreationRequestAn object that can construct a new photo or video asset and add it to the Photos library.
PHAssetEditOperationEnumerates values that indicate whether an operation edits or deletes an asset, changes its properties, or performs no action on the asset.
PHAssetImageProgressHandlerA continuation handler for that is called by the Photos application to show progress for an image request.
PHAssetMediaSubtypeEnumerates values that describe media subtypes. (HDR, panorama, streaming video, and etc.)
PHAssetMediaTypeEnumerates the forms of PHAsset.
PHAssetResourceA data resource that can be composed into a PHAsset.
PHAssetResourceCreationOptionsOptions when creating assets from data resources.
PHAssetResourceManagerAllows manipulation of the data underlying a PHAsset.
PHAssetResourceRequestOptionsOptions used when fetching resources with PHAssetResourceManager.
PHAssetResourceTypeEnumerates types of PHAssetResource data.
PHAssetSourceTypeEnumerates the means by which an asset entered the Photos library.
PHAssetVideoProgressHandlerDelegate type used with ProgressHandler.
PHAuthorizationStatusEnumerates the current authorization allowed by the application user.
PHCachingImageManagerA PHImageManager that fetches or generates image data for PHAssets.
PHChangeSent by the system and encapsulate details about changes to a fetch result (see PHFetchResult) or PHObject instances.
PHChangeDetailEnumeratorEnumerates differences between snapshots of the objec at the specified indices.
PHCollectionAbstract collection of PHObjects. Concrete subtypes are PHAssetCollection and PHCollectionList.
PHCollectionEditOperationEnumerates values that describe the editing operations that can be performed on a collection.
PHCollectionListA list of PHAssetCollections.
PHCollectionListChangeRequestUsed within a Photos change block to create, update, or delete PHCollectionList objects..
PHCollectionListSubtypeEnumerates values that indicate the subtype of the collection.
PHCollectionListTypeEnumerates values that indicate whether a collection is a moment list, folder, or smart folder.
PHContentEditingHandlerCompletion handler for the PHAssetContentEditingInputExtensions.RequestContentEditingInput method.
PHContentEditingInputDescribes an editable PHAsset.
PHContentEditingInputRequestOptionsOptions used when requesting to edit an PHAsset.
PHContentEditingOutputDescribes the result of editing a PHAsset.
PHFetchOptionsOptions used when retrieving objects of type PHAsset, PHCollection, PHAssetCollection, or PHCollectionList.
PHFetchResultAn ordered list of PHObject objects.
PHFetchResultChangeDetailsDifferences between a fetch previously performed and what would be the results if the same fetch were performed now.
PHFetchResultEnumeratorEnumerates the assets in a fetch result.
PHImageContentModeEnumerates values that control how images are displayed.
PHImageDataHandlerCompletion handler for the PHImageManager.RequestImageData method.
PHImageKeysConstants indicating results of image loading. Used with PHImageManager.RequestImageForAsset, defines the keys and values passed to the PHImageResultsHandler .
PHImageManagerA singleton object that allows loading PHAsset objects.
PHImageManagerRequestAvAssetHandlerCompletion handle for the PHImageManager.RequestAvAsset method.
PHImageManagerRequestExportHandlerCompletion handler for the PHImagaManager.RequestExportSession method.
PHImageManagerRequestLivePhotoThe result handler delegate for calls to PHImageManager.RequestLivePhoto.
PHImageManagerRequestPlayerHandlerCompletion handler for the PHImageManager.RequestPlayerItem method.
PHImageRequestOptionsOptions used when retrieving images with the PHImageManager singleton.
PHImageRequestOptionsDeliveryModeEnumerates values that control the desired balance between speed and quality when retrieving image data.
PHImageRequestOptionsResizeModeEnumerates values that control the speed and accuracy of image resizing operations.
PHImageRequestOptionsVersionEnumerates values that control whether to retrieve edited or unedited versions of images.
PHImageResultHandlerCompletion handler for the PHImageManager.RequestImageForAsset method.
PHLivePhotoAn image that contains motion and sound from the time it was captured.
PHLivePhotoEditingContextAn editing context for a live photo's image, audio, and video data.
PHLivePhotoEditingOptionContains a playback option for use when processing or editing a Live Photo.
PHLivePhotoFrameProcessingBlockDelegate that is called on every frame of a Live Photo as it is processed.
PHLivePhotoFrameTypeEnumerates Live Photo frame types.
PHLivePhotoInfoDefines keys for the info dictionary passed to the result handler in PHLivePhoto.RequestLivePhoto.
PHLivePhotoRequestOptionsContains options for requesting live photos from a photo manager.
PHObjectAbstract class for elements within the Photos library; subclasses are individual PHAsssets, composite PHCollections, or not-yet-created PHPObjectPlaceholders.
PHObjectChangeDetailsHolds information between a fetched Photos object and the state of that asset or collection within the Photos library.
PHObjectPlaceholderA read-only proxy for an PHAsset or PHCollectionList that has not yet been created, but will be created via a sequence of change requests.
PHPhotoLibraryThe entire set of data managed by the Photos app. This includes both locally stored assets and, if user-enabled, assets stored in iCloud.
PHPhotoLibraryChangeObserverProvides methods relating to changes in the PHPhotoLibrary.
PHProgressHandlerContinuation handler for tracking image operation progress.
PHVideoRequestOptionsOptions used when retrieiving videos with the PHPhotoManager singleton.
PHVideoRequestOptionsDeliveryModeEnumerates values that balance the load time and quality of video when requesting video data.
PHVideoRequestOptionsVersionEnumerates values that control whether to return the edited or original version of a video asset.