2017-01-28 3 views
0

Ich habe ein Problem in SWIFT 3, versuchen, Cache für die Anfragen zu deaktivieren, sendet Server aktualisierte JSON-Texte, aber meine Anwendung zeigt immer noch alte Daten. Dies geschieht nur, wenn Mobilfunkdaten an sind, mit WIFI funktioniert alles. Bitte, beraten, wie das zu beheben, hier ist mein Code. Vielen Dank!Cache kann nicht für Anfragen deaktiviert werden

let tim: String = String(Date().timeIntervalSinceReferenceDate) 
    let urlTim = url + "?timref=" + tim 


    URLCache.shared.removeAllCachedResponses() 
    URLCache.shared.diskCapacity = 0 
    URLCache.shared.memoryCapacity = 0 
    if let cookies = HTTPCookieStorage.shared.cookies { 
     for cookie in cookies { 
      HTTPCookieStorage.shared.deleteCookie(cookie) 
     } 
    } 

    var request = URLRequest(url: URL(string: urlTim)!, cachePolicy: URLRequest.CachePolicy.reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 10) 

    request.httpMethod = "POST" 
    request.httpBody = post.data(using: .utf8) 
    request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringLocalAndRemoteCacheData 

    let task = URLSession.shared.dataTask(with: request) 
    { 
     data, response, error in guard let data = data, error == nil else { print("Network Error"); err?(); return; } 
     if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { print("Network 200 error"); err?(); return; } 
     self.jsonResponse = String(data: data, encoding: .utf8)!; 
    } 
    task.resume() 

Antwort

0

So, hier ist meine Lösung:

Wenn jemand diese Situation steht und vergessen cachepolicy Option hinzufügen dann manuell reinigen Cache zu einen. Nachdem der Code funktioniert.

Verwandte Themen