gpt4 book ai didi

ios - 如何从 NSURLSessionTask 禁用缓存

转载 作者:IT王子 更新时间:2023-10-29 07:40:24 24 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我使用 NSURLSessionTask 将 json 数据下载到我的应用程序。我发现当我直接从浏览器调用 url 时,我会得到一个最新的 json,而当它从应用程序中调用时,我会得到一个旧版本的 json。

这是缓存的原因吗?我如何告诉 NSURLSessionTask 不使用缓存。

这是我使用的电话:

NSURLSessionTask *task = [[NSURLSession sharedSession] dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

谢谢!

最佳答案

如果您阅读来自@runmad 的链接,您可以在流程图中看到,如果文件的 HEAD 未更改,则在您设置 cachePolicy 时它仍将使用缓存的版本。

在 Swift3 中,我必须这样做才能让它工作:

let config = URLSessionConfiguration.default
config.requestCachePolicy = .reloadIgnoringLocalCacheData
config.urlCache = nil

let session = URLSession(configuration: config)

这得到了文件的真正非缓存版本,我需要它来进行带宽估算计算。

关于ios - 如何从 NSURLSessionTask 禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24328461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com