七牛云存储 - iOS8下缓存NSURLRequestReloadIgnoringCacheData的问题
PHPz
PHPz 2017-04-17 13:10:01
[iOS讨论组]

我有一个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];
PHPz
PHPz

学习是最好的投资!

全部回复(4)
巴扎黑

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

ringa_lee

我也遇到类似的问题,我发现是
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

阿神

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

伊谢尔伦

我也遇到了这个问题,用webview加载H5的时候,有的iPhone会有缓存,也是用的NSURLRequestReloadIgnoringCacheData,请问楼主解决了吗,解决了麻烦告知一下,我的QQ:583932511,谢谢楼主。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号