我有一个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];
我也遇到类似的问题,我发现是
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。