Protocol

NSURLSessionDownloadDelegate

A protocol defining methods that URL session instances call on their delegates to handle task-level events specific to download tasks.

Declaration

@protocol NSURLSessionDownloadDelegate

Overview

In addition to the methods in this protocol, be sure to implement the methods in the NSURLSessionTaskDelegate and NSURLSessionDelegate protocols to handle events common to all task types and session-level events, respectively.

Topics

Handling Download Life Cycle Changes

- URLSession:downloadTask:didFinishDownloadingToURL:

Tells the delegate that a download task has finished downloading.

Required.

Resuming Paused Downloads

- URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:

Tells the delegate that the download task has resumed downloading.

Receiving Progress Updates

- URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:

Periodically informs the delegate about the download’s progress.

Relationships

See Also

Adding Download Tasks to a Session

- downloadTaskWithURL:

Creates a download task that retrieves the contents of the specified URL and saves the results to a file.

- downloadTaskWithURL:completionHandler:

Creates a download task that retrieves the contents of the specified URL, saves the results to a file, and calls a handler upon completion.

- downloadTaskWithRequest:

Creates a download task that retrieves the contents of a URL based on the specified URL request object and saves the results to a file.

- downloadTaskWithRequest:completionHandler:

Creates a download task that retrieves the contents of a URL based on the specified URL request object, saves the results to a file, and calls a handler upon completion.

- downloadTaskWithResumeData:

Creates a download task to resume a previously canceled or failed download.

- downloadTaskWithResumeData:completionHandler:

Creates a download task to resume a previously canceled or failed download and calls a handler upon completion.

NSURLSessionDownloadTask

A URL session task that stores downloaded data to file.

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