Очистить кешированный URL - PullRequest
       7

Очистить кешированный URL

0 голосов
/ 28 апреля 2018

У меня есть код ниже, который отлично работает, кроме тянуть, чтобы обновить. Возвращает кэшированную версию .json. Если я использую другую функцию URL, она перезагружает новый .json на лету, но если я хочу выполнить pull для обновления с тем же URL, он обслуживает его кешированную версию.

Спасибо

static func loadDataFromURL(url: URL,completion: @escaping (_ data: Data?, _ error: Error?) -> Void) {

    let sessionConfig = URLSessionConfiguration.default
    sessionConfig.allowsCellularAccess = true
    sessionConfig.timeoutIntervalForRequest = 15
    sessionConfig.timeoutIntervalForResource = 30
    sessionConfig.httpMaximumConnectionsPerHost = 1

    let session = URLSession(configuration: sessionConfig)

    // Use URLSession to get data from an NSURL
    let loadDataTask = session.dataTask(with: url) { data, response, error in

        guard error == nil else {
            completion(nil, error!)
            if kDebugLog { print("API ERROR: \(error!)") }
            return
        }

        guard let httpResponse = response as? HTTPURLResponse, 200...299 ~= httpResponse.statusCode else {
            completion(nil, nil)
            if kDebugLog { print("API: HTTP status code has unexpected value") }
            return
        }

        guard let data = data else {
            completion(nil, nil)
            if kDebugLog { print("API: No data received") }
            return
        }

        // Success, return data
        completion(data, nil)
    }

    loadDataTask.resume()
}

1 Ответ

0 голосов
/ 28 апреля 2018

Вы должны установить session.configuration с объектом URLSessionConfiguration, который конфигурируется с помощью политики кэширования в соответствии с вашими потребностями, которые, я думаю, вы не установили в приведенном выше коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...