gpt4 book ai didi

swift - 带有 cachePolicy ReloadIgnoringCacheData 的 NSURLRequest 返回陈旧数据

转载 作者:行者123 更新时间:2023-11-28 08:41:49 26 4
gpt4 key购买 nike

我有一个用例,我需要在 Apple TV 上轮询 rest api 以进行身份​​验证。我得到 90-120 秒的陈旧响应 JSON 响应,之后我得到正确的 JSON 响应。下面是我的代码

static func getFileNoCache(url:NSURL?, completionHandler:(NSData?, String?)->Void) {
if let fileUrl = url {
let request = NSURLRequest(URL: fileUrl, cachePolicy: .ReloadIgnoringCacheData, timeoutInterval: 5)
let dataTask = NSURLSession.sharedSession().dataTaskWithRequest(request,
completionHandler: { data, response, error in
if let err = error {
// failed !
print("!! Error - Download Failed \n\t\(fileUrl) reason:\(err.localizedDescription)")
completionHandler (nil, err.localizedDescription)
return
}

if let statusCode = (response as? NSHTTPURLResponse)?.statusCode {
if statusCode == 200 {
completionHandler(data, nil)
}
else {
completionHandler (nil, "Message")
}
}
else {
completionHandler (nil, "Invalid response")
print("!! Error - Downloading EPG Config")
}
})
dataTask.resume()
}
}

我真的不知道怎么了

最佳答案

可以是任何数量的东西,从代理到服务器端缓存再到共享 session 行为中的错误。

尝试使用您自己的 session 配置完全禁用缓存,将其 URLCache 属性设置为 nil,然后基于该配置创建 session 。

如果这不起作用,那么缓存不在您的机器中,您最好的办法是向 URL 添加缓存破坏器(例如 &ignoredParameter=monotonically_increasing_number)。

关于swift - 带有 cachePolicy ReloadIgnoringCacheData 的 NSURLRequest 返回陈旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329898/

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