Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用HTTPSCookiesStorage我可以在URLSession中筛选(过滤)cookies存储吗?_Ios_Swift_Alamofire_Urlsession_Nshttpcookiestorage - Fatal编程技术网

Ios 使用HTTPSCookiesStorage我可以在URLSession中筛选(过滤)cookies存储吗?

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

我已经对HTTPCookiesStorage进行了子类化,但是storeCookies()从未存储cookies,尽管我在方法中调用super.storeCookies()

如果我不使用自定义HttpCookieSession对象覆盖配置,会话将自动存储cookie。我在这里有点迷路了

这是URLSession调用

   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是否以其他方式存储。他们是。我可以上传一些公共回购项目,如果你想检查吗?