问题
I am writing a multi-user app using NSURLSession
and I can't figure out how to have a separate cookie storage when working with multiple NSURLSession
instances.
I tried setting NSURLSessionConfiguration
's HTTPCookieStorage
property with a NSHTTPCookieStorage
that I alloc/init'ed myself but it doesn't work (cookies aren't stored, even if I call setCookie:
myself)
I also tried using [NSURLSessionConfiguration ephemeralSessionConfiguration]
but then again, my cookies aren't stored between requests. The Set-Cookie
header is present in the server's responses, and using [NSHTTPCookieStorage sharedHTTPCookieStorage]
works so the issue is in the code.
Is it at all possible to have separate cookie stores for different NSURLSession
instances? I believed it was one of the main point of the new networking API.
回答1:
I am trying to achieve the same thing.
The ephemeralSessionConfiguration doesn't store your cookies, because its cookieAcceptPolicy is always set to NEVER, even if you try to change it to something else. Same goes for the manually allocated NSURLSessionConfiguration.
From my point of view this is in contrast to the documentation which states that ephemeral sessions use an in-memory cookie store.
I have posted a separate question regarding this issue: How to set cookieAcceptPolicy for ephemeral NSURLSession
来源:https://stackoverflow.com/questions/27132606/multiple-nshttpcookiestorage-in-the-same-app