Ios 使用HTTPSCookiesStorage我可以在URLSession中筛选(过滤)cookies存储吗?
我已经对HTTPCookiesStorage进行了子类化,但是storeCookies()从未存储cookies,尽管我在方法中调用super.storeCookies() 如果我不使用自定义HttpCookieSession对象覆盖配置,会话将自动存储cookie。我在这里有点迷路了 这是URLSession调用Ios 使用HTTPSCookiesStorage我可以在URLSession中筛选(过滤)cookies存储吗?,ios,swift,alamofire,urlsession,nshttpcookiestorage,Ios,Swift,Alamofire,Urlsession,Nshttpcookiestorage,我已经对HTTPCookiesStorage进行了子类化,但是storeCookies()从未存储cookies,尽管我在方法中调用super.storeCookies() 如果我不使用自定义HttpCookieSession对象覆盖配置,会话将自动存储cookie。我在这里有点迷路了 这是URLSession调用 var configration = URLSessionConfiguration.default //configration.httpCookieStorage
var configration = URLSessionConfiguration.default
//configration.httpCookieStorage = customHTTPCookiesStorage()
let session = URLSession.init(configuration: configration)
if let url = URL.init(string: "https://google.com"){
session.dataTask(with: url) { sip,sap,su in
print(sip,sap,su)
var x = session.configuration.httpCookieStorage?.cookies
}.resume()
}
这是自定义类
class customHTTPCookiesStorage: HTTPCookieStorage {
override func storeCookies(_ cookies: [HTTPCookie], for task: URLSessionTask) {
super.storeCookies(cookies, for: task)
for cookies in cookies{
session?.session.configuration.httpCookieStorage?.setCookie(cookies)
}
print("This is where cookies are stored")
}
}
更新1
我的目标不是在Http响应状态为401时将Cookie存储在HttpCookieStore中,以及在调用super.storeCookies(…)的行上设置断点时会发生什么情况?这样Cookie就可以在cookies变量中使用。如果我设置断点。但永远不会自动存储。我确信我编写的for循环不是必需的,但即使在成功迭代for循环之后,httpcookiesstorage仍然是空的,我想知道我是否覆盖了正确的方法,是否有其他优雅的方法来覆盖。我只是不想在401的状态代码中存储cookies。请看一下子类部分。为什么
configration.httpCookieStorage=customHTTPCookiesStorage()
被注释掉了?我将其注释掉是为了检查cookies是否以其他方式存储。他们是。我可以上传一些公共回购项目,如果你想检查吗?