Creates a session with the specified session configuration, delegate, and operation queue.
SDKs
- iOS 7.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
Framework
- Foundation
Declaration
init(configuration: URLSession Configuration, delegate: URLSession Delegate?, delegateQueue queue: Operation Queue?)
Parameters
configuration
A configuration object that specifies certain behaviors, such as caching policies, timeouts, proxies, pipelining, TLS versions to support, cookie policies, and credential storage.
See
URLSession
for more information.Configuration delegate
A session delegate object that handles requests for authentication and other session-related events.
This delegate object is responsible for handling authentication challenges, for making caching decisions, and for handling other session-related events. If
nil
, the class should be used only with methods that take completion handlers.Important
The session object keeps a strong reference to the delegate until your app exits or explicitly invalidates the session. If you do not invalidate the session by calling the
invalidate
orAnd Cancel() finish
method, your app leaks memory until it exits.Tasks And Invalidate() queue
An operation queue for scheduling the delegate calls and completion handlers. The queue should be a serial queue, in order to ensure the correct ordering of callbacks. If
nil
, the session creates a serial operation queue for performing all delegate method calls and completion handler calls.