Creates a download task that retrieves the contents of the specified URL, saves the results to a file, and calls a handler upon completion. The task bypasses calls to delegate methods for response and data delivery, and instead provides any resulting
NSError objects inside the completion handler. Delegate methods for handling authentication challenges, however, are still called.
- iOS 7.0+
- macOS 10.9+
- tvOS 9.0+
- watchOS 2.0+
NSURLobject that provides the URL to download.
The completion handler to call when the load request is complete. This handler is executed on the delegate queue.
If you pass
nil, only the session delegate methods are called when the task completes, making this method equivalent to the
This completion handler takes the following parameters:
The location of a temporary file where the server’s response is stored. You must move this file or open it for reading before your completion handler returns. Otherwise, the file is deleted, and the data is lost.
An object that provides response metadata, such as HTTP headers and status code. If you are making an HTTP or HTTPS request, the returned object is actually an
An error object that indicates why the request failed, or
nilif the request was successful.
The new session download task.
After you create the task, you must start it by calling its
You should pass a
nil completion handler only when creating tasks in sessions whose delegates include a
If the request completes successfully, the
location parameter of the completion handler block contains the location of the temporary file, and the
error parameter is
nil. If the request fails, the
location parameter is
nil and the
error parameter contain information about the failure. If a response from the server is received, regardless of whether the request completes successfully or fails, the
response parameter contains that information.