创建会话后,我可以在NSURLSession的配置中更新cookie吗?
我使用此代码更新cookie,但它似乎不起作用。
self.session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
self.session.configuration.HTTPShouldSetCookies = NO;
self.session.configuration.HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways;
self.session.configuration.HTTPAdditionalHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookiesArray];
谢谢,
不可以,您必须在创建会话之前从Apple文档创建配置:
在使用NSURLSessionConfiguration对象初始化会话对象之前,正确配置该对象非常重要。会话对象复制您提供的配置设置,并使用这些设置来配置会话。配置后,会话对象将忽略您对NSURLSessionConfiguration对象所做的任何更改。如果需要修改传输策略,则必须更新会话配置对象,并使用它创建新的NSURLSession对象。
https://developer.apple.com/library/IOs/documentation/Foundation/Reference/NSURLSessionConfiguration_class/index.html
例如
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
configuration.HTTPShouldSetCookies = NO;
configuration.HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways;
configuration.HTTPAdditionalHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookiesArray];
NSURLSession *session = [NSURLSession initWithSessionConfiguration:configuration];