cancel(byProducingResumeData:)
Cancels a download and calls a callback with resume data for later use.
Declaration
func cancel(byProducingResumeData completionHandler: @escaping @Sendable (Data?) -> Void)func cancelByProducingResumeData() async -> Data?Parameters
- completionHandler:
A completion handler that is called when the download has been successfully canceled.
If the download is resumable, the completion handler is provided with a
resumeDataobject. Your app can later pass this object to a session’s Downloadtask(withresumedata:) or Downloadtask(withresumedata:completionhandler:) method to create a new task that resumes the download where it left off.This block is not guaranteed to execute in a particular thread context. As such, you may want specify an appropriate dispatch queue in which to perform any work.
Mentioned in
Discussion
A download can be resumed only if the following conditions are met:
The resource has not changed since you first requested it
The task is an HTTP or HTTPS
GETrequestThe server provides either the
ETagorLast-Modifiedheader (or both) in its responseThe server supports byte-range requests
The temporary file hasn’t been deleted by the system in response to disk space pressure