我有一个 AFHTTPSessionManager
的标准子类。我通过提供我需要的 session 配置来使用 initWithBaseURL:sessionConfiguration:
初始化程序。我在配置中设置了 requestCachePolicy
变量,目的是让所有请求都遵循给定的缓存策略。但是,如果我要检查任何 NSURLSessionDataDelegate
回调方法的请求策略,它不会设置为配置中的值。为了解决这个问题,我需要设置 session 管理器的 requestSerializer
的 cachePolicy
变量。
似乎当 AFNetworking 创建 NSURLRequest 对象时,它没有使用 session 配置对象中设置的缓存策略值。也就是说,在 session 配置上设置 cachePolicy 而不是 requestSerializer 的原因是什么?
这是 AFNetworking 2.0 中的错误或不完整的功能,还是我在这里遗漏了什么?
最佳答案
AFHTTPSessionManager 使用 cookie 来缓存请求。
只需删除 cookie。
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
[storage deleteCookie:cookie];
}
关于iOS:AFNetworking 的 AFHTTPSessionManager 缓存策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32381386/