NSURLSession 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
URLSession protocols to handle events common to all task types and session-level events, respectively.
- iOS 7.0+
- macOS 10.9+
- tvOS 9.0+
- watchOS 2.0+