Ich habe einen Anwendungsfall, in dem ich eine Rest-API für die Authentifizierung auf Apple TV abfragen muss. Ich bekomme eine veraltete Antwort Antwort für 90-120 Sekunden, nach der ich richtige JSON Antwort bekomme. Unten ist mein CodeNSURLRequest mit cachePolicy ReloadIgnoringCacheData gibt veraltete Daten zurück
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()
}
}
ich wirklich ahnungslos bin was
Dies könnte aufgrund von Server-Caching oder Verwendung eines Proxy-cdn wie cloudflare, haben Sie versucht, die Anforderungen separat mit etwas wie Postbote machen? – Scriptable