2015-08-18 2 views
0

Сервер отправляет заголовок кэша в ответ.AFHTTPSessionManager с политикой кэша не работает

"Cache-Control": "Макс-возраст = 120, общественное"

Сначала я использовал NSURLRequestReturnCacheDataElseLoad с AFHTTPRequestOperation.

Установив общий кэш в AppDelegate и установив NSURLRequestReturnCacheDataElseLoad в NSUrlRequest.

Он работал нормально.

Но когда я попытался сделать то же самое с AFHTTPSessionManager установкой NSURLRequestReturnCacheDataElseLoad следующими способами,

1. request.session.configuration.requestCachePolicy

2. request.requestSerializer.cachePolicy

3.Overriding - (NSURLSessionDataTask *) dataTaskWithRequest: (NSURLRequest *) запрос completionHandler: (аннулируются (^) (NSURLResponse *, идентификатор, NSError *)) завершениеХандлер

Ничто не работает.

AFNetworking версия - 2.5.1

+0

какая версия сетевого соединения? – Loxx

+0

afnetworking version 2.5.1 – Julian

ответ

0

У меня была такая же проблема, и после нескольких часов поисков, я обнаружил, что AFHTTPSessionManager использует куки для запросов кэша.

Просто удалите все файлы cookie, и все это сработало.

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