NSURLSessionDownloadDelegate protocol defines delegate methods that you should implement when using
URLSession download tasks. In addition to these methods, be sure to implement the methods in the
URLSessionDelegate protocols to handle events common to all task types and session-level events, respectively.
- iOS 8.0+
- macOS 10.10+
- tvOS 9.0+
- watchOS 2.0+