NSURLSession缓存在iOS8中不起作用

时间:2014-08-14 21:02:19

标签: ios8 nsurlsession nsmutableurlrequest

我有以下代码,它在iOS7中工作正常,但在iOS8中没有。在iOS8中,应用程序总是使用缓存,即使我已设置NSURLRequestReloadIgnoringCacheData:

NSURL *url = [NSURL URLWithString:k_Chapter_URL];
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];

NSURLSessionConfiguration *sessionConfig =
[NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfig.requestCachePolicy = NSURLRequestReloadIgnoringCacheData;
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig];

[[session dataTaskWithRequest:request
            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

            }] resume];

有没有人和我有类似情况?

1 个答案:

答案 0 :(得分:1)

我认为这是iOS 8中的一个错误。我能够使用resetWithCompletionHandler强制清除缓存。

[session resetWithCompletionHandler:^{
    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

        }] resume];
}];