В приведенном ниже примере из документации Apple показано, как вручную создать CachedURLResponse
для UrlSession
.
Одним из параметров является storagePolicy
(в примере установлено значение .allowedInMemoryOnly
).
Если установить такой параметр на .allowed
(вместо .allowedInMemoryOnly
, кэш должен храниться на жестком диске. Означает ли это, что он сохраняется между запусками приложения?
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask,
willCacheResponse proposedResponse: CachedURLResponse,
completionHandler: @escaping (CachedURLResponse?) -> Void) {
if proposedResponse.response.url?.scheme == "https" {
let updatedResponse = CachedURLResponse(response: proposedResponse.response,
data: proposedResponse.data,
userInfo: proposedResponse.userInfo,
storagePolicy: .allowedInMemoryOnly)
completionHandler(updatedResponse)
} else {
completionHandler(proposedResponse)
}
}
спасибо