Releases: apollographql/apollo-ios
Version 0.27.1
Version 0.25.1
- Repoints download link to our CDN for the CLI.
Version 0.24.1
- Repoints download link to our CDN for the CLI.
Version 0.23.3
- Repoints download link to our CDN for the CLI.
Version 0.22.1
- Repoints download link to our CDN for the CLI.
Version 0.21.1
- Repoints download link to our CDN for the CLI.
Version 0.20.1
- Repoints download link to our CDN for the CLI.
Version 0.19.1
- Repoints download link to our CDN for the CLI.
Version 0.18.2
- Repoints download link to our CDN for the CLI.
Version 0.27.0
- BREAKING: Replaced calls directly into the closure based implementation of
URLSession
with a delegate-based implementation calledURLSessionClient
.-
This (finally) allows background session configurations to be used with
ApolloClient
, since background session configurations immediately error out if you try to use the closure-basedURLSession
API. -
This makes a significant change to the initialization of
HTTPNetworkTransport
if you're using a customURLSession
: BecauseURLSession
must have its delegate set at the point of creation,URLSessionClient
is now creating the URL session. You can initialize aURLSessionClient
with aURLSessionConfiguration
. if before you were using:let session = URLSession(configuration: myCustomConfiguration) let url = URL(string: "http://localhost:8080/graphql")! let transport = HTTPNetworkTransport(url: url, session: session)
You will now need to use:
let client = URLSessionClient(sessionConfiguration: myCustomConfiguration) let url = URL(string: "http://localhost:8080/graphql")! let transport = HTTPNetworkTransport(url: url, client: client)
-
If you were passing in a session you'd already set yourself up to be the delegate of to handle GraphQL requests, you'll need to subclass
URLSessionClient
and override any delegate methods off ofURLSessionDelegate
,URLSessionTaskDelegate
, orURLSessionDataDelegate
you need to handle. Unfortunately only one class can be a delegate at a time, and that class must be declared when the session is instantiated.Note that if you don't need your existing delegate-based session to do any handling for things touched by Apollo, you can keep it completely separate if you'd prefer.
-
This does not change anything at the point of calls - everything is still closure-based in the end
Please file bugs on this ASAP if you run into problems. Thank you! (#1163)
-