Type Alias


The signature for a block that Photos calls while downloading asset data from iCloud. Used by the progressHandler property.


typealias PHAssetImageProgressHandler = (Double, Error?, UnsafeMutablePointer<ObjCBool>, [AnyHashable : Any]?) -> Void


If you request an image whose data is not on the local device, and you have enabled downloading with the isNetworkAccessAllowed property, Photos calls your block periodically to report progress and to allow you to cancel the download.

The block takes the following parameters:


A floating-point value indicating the progress of the download. A value of 0.0 indicates that the download has just started, and a value of 1.0 indicates the download is complete.


An NSError object describing an error that occurred when attempting to download the image, or nil if no errors have occurred.


A pointer to a Boolean value. To cancel the download, set *stop to true inside the block.


A dictionary providing additional information about the status of the image request. See Image Result Info Keys for possible keys and values. For example, a true value for the key PHImageResultIsDegradedKey indicates that Photos may send the full-quality version of the image later, depending on the value of the image request’s deliveryMode property.

See Also

Fetching Image Data from iCloud

var isNetworkAccessAllowed: Bool

A Boolean value that specifies whether Photos can download the requested image from iCloud.

var progressHandler: PHAssetImageProgressHandler?

A block that Photos calls periodically while downloading the image.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software