---
title: PHAssetResourceUploadJobChangeRequest
framework: photos
role: symbol
role_heading: Class
path: photos/phassetresourceuploadjobchangerequest
---

# PHAssetResourceUploadJobChangeRequest

Use within an application’s com.apple.photos.background-upload extension to create and change PHAssetResourceUploadJob records.

## Declaration

```swift
class PHAssetResourceUploadJobChangeRequest
```

## Overview

Overview When the extension’s principal class receives a call to process background uploads, it can create new PHAssetResourceUploadJobs through calls to perform changes on a PHPhotoLibrary using PHAssetResourceUploadJobChangeRequest and any in-flight upload jobs can be handled by updating their state to mark them as acknowledged, or to be retried. The maximum number of jobs that can be in flight is limited to the PHAssetResourceUploadJob.jobLimit. PHAssetResourceUploadJobChangeRequest can only be created or used within a photo library change block. For details on change blocks, see PHPhotoLibrary.

## Topics

### Creating a change request

- [init(for:)](photos/phassetresourceuploadjobchangerequest/init(for:).md)

### Creating jobs

- [creationRequestForDownloadJob(resource:)](photos/phassetresourceuploadjobchangerequest/creationrequestfordownloadjob(resource:).md)
- [creationRequestForJob(destination:resource:)](photos/phassetresourceuploadjobchangerequest/creationrequestforjob(destination:resource:).md)

### Processing jobs

- [acknowledge()](photos/phassetresourceuploadjobchangerequest/acknowledge().md)
- [retry(destination:)](photos/phassetresourceuploadjobchangerequest/retry(destination:).md)
- [cancel()](photos/phassetresourceuploadjobchangerequest/cancel().md)

### Accessing details about the job

- [placeholderForCreatedAssetResourceUploadJob](photos/phassetresourceuploadjobchangerequest/placeholderforcreatedassetresourceuploadjob.md)

### Deprecated

- [createJob(destination:resource:)](photos/phassetresourceuploadjobchangerequest/createjob(destination:resource:).md)

### Initializers

- [init(forUploadJob:)](photos/phassetresourceuploadjobchangerequest/init(foruploadjob:).md)

## Relationships

### Inherits From

- [PHChangeRequest](photos/phchangerequest.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Background resource upload extensions

- [Uploading asset resources in the background](photokit/uploading-asset-resources-in-the-background.md)
- [PHBackgroundResourceUploadExtension](photos/phbackgroundresourceuploadextension.md)
- [PHAssetResourceUploadJob](photos/phassetresourceuploadjob.md)
