iOS8下缓存NSURLRequestReloadIgnoringCacheData的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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];

展开
收起
a123456678 2016-07-27 14:55:59 2672 0
1 条回答
写回答
取消 提交回答
  • a123456678

    我也遇到类似的问题,我发现是
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];的问题
    在iOS 7 和 ios8下面打印request不一样,
    iOS 7为 { URL: http://183.62.157.98:9002/UpFileServices.svc/UpFile }
    ios8为 { URL: http://183.62.157.98:9002/UpFileServices.svc/UpFile, headers: {} }
    多了后面的一串 headers: {}, 造成网络访问失败。

    如果找到解决方案了给我发个邮件或Q我一下, 9771734@qq.com

    2019-07-17 20:00:36
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新
相关电子书
更多
Facebook iOS App技术演化十年之路
立即下载
From Java_Android to Swift iOS
立即下载
深入剖析 iOS 性能优化
立即下载