0

Server sends cache header in response.

"Cache-Control": "max-age=120, public"

First I used NSURLRequestReturnCacheDataElseLoad with the AFHTTPRequestOperation.

By setting shared cache in AppDelegate and setting the NSURLRequestReturnCacheDataElseLoad in the NSUrlRequest.

It worked fine.

But when i tried to do the same with AFHTTPSessionManager by setting NSURLRequestReturnCacheDataElseLoad in the following ways,

1.request.session.configuration.requestCachePolicy

2.request.requestSerializer.cachePolicy

3.Overriding -(NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request completionHandler:(void (^)(NSURLResponse *, id, NSError *))completionHandler

Nothing seems to be working.

AFNetworking version - 2.5.1

Julian
  • 29
  • 5

1 Answers1

0

I had the same problem and after hours of searching, I have found that AFHTTPSessionManager uses cookies to cache requests.

Simply deleted all cookies and it all worked.

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (NSHTTPCookie *cookie in [storage cookies]) {
        [storage deleteCookie:cookie];
    }