Я пытаюсь найти способ предотвратить NSURLSession
из ответов кэширования (в симуляторе), используя подход из этих вопросов:кэширования Предотвратить в NSURLSession для IOS Simulator
Prevent NSURLSession from caching responses
NSURLCache does not clear stored responses in iOS8
I не хочу использовать подход от этого вопроса:
, который использует ephemeralSessionConfiguration
при вызове NSURLSessionConfiguration
при создании нового экземпляра NSURLSession
.
Я просто хочу не кэшировать запросы, в худшем случае очистить кеш, когда приложение уходит в отставку. С вызовом [NSURLCache sharedURLCache] removeAllCachedResponses]
в applicationWillResignActive
исполнении в делете приложения я до сих пор получаю Cache.db
подарок и полный кешированных ответов/запросов в соответствующем кеше симулятора iOS на диске.
До этого я изменил всю мою политику NSURLSessionConfiguration
NSURLRequestReloadIgnoringCacheData
кэша NSURLRequestReloadIgnoringLocalCacheData
NSURLRequestReloadIgnoringLocalAndRemoteCacheData
(протестировано все три случая, последний из которых, вероятно, не реализован) экземпляры (и эффективно осуществлять все политики кэширования). Не изменяет ли политика кэша, которая должна приводить к не кешированию ответов сервера и запросов на симулятор? Это зависит от политики хранения в заголовках ответов?
Я использую iOS 9.3 и iOS 10.1 для iPhone и v. 10 SDK для iOS. Проект находится в Objective C, возможно, полный проект Swift будет вести себя по-другому? Разве это поведение отличается от симуляторов и устройств? Почему это происходит, есть ли решение, отличное от использования зависимости (по какой-то причине оно не может попасть прямо сейчас).
Вы пытались установить свойство cachePolicy на NSMutableURLRequest в NSURLRequestReloadIgnoringCacheData? Кроме того, задайте свойство URLCache для объекта NSURLSessionConfiguration равным нулю. –