iOS8下缓存NSURLRequestReloadIgnoringCacheData的问题

我有一个json放在七牛云存储上,通过NSURLSession进行下载,缓存设置为NSURLRequestReloadIgnoringCacheData,即表示不cache,每次都从server获取。

在iOS7下一切正常
在iOS8下,奇怪的发现是直接读取缓存(即使我已经设置了NSURLRequestReloadIgnoringCacheData),而没有重新去云存储上获取。

我把json放在amazon s3平台就没有这个问题,所以相当肯定的是七牛云存储上的问题。以下是我的一部分代码

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) {
                if (error) {
                    NSLog(@"%@", error);
                } else {
                    ...处理数据
                }
            }] resume];
阅读 9.8k
4 个回答

你尝试一下cachePolicy为NSURLRequestReloadIgnoringLocalAndRemoteCacheData呢,另外你是怎么判断你的资源是否在缓存上的?通过状态码么?

新手上路,请多包涵

昨天刚刚在iOS 9 试过没问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题