У меня есть объект UIWebView с кэшированием-политики определяется как: NSURLRequestReloadIgnoringLocalCacheDataUIWebView NSURLRequestReloadIgnoringLocalCacheData фактически не игнорировать кэш
Это должно игнорировать любые объекты в локальном кэше и получить последнюю версию сайта из паутина.
Однако после первой загрузки сайта (десять ресурсов в трассировке, HTTP GET) все последующие загрузки сайта получают только небольшое количество ресурсов (три ресурса в трассировке, HTTP GET). Все изображения загружаются из какого-то локального источника.
Я подтвердил, что мой sharedURLCache имеет использование памяти 0 байтов и использование диска 0 байтов. Всякий раз, когда процесс начинает работать, полная версия сайта снова извлекается. Это заставляет меня думать, что эти ресурсы хранятся в кеше в памяти, но, как я уже отмечал ранее, [[NSURLCache sharedURLCache] currentMemoryUsage] возвращает 0.
Я также попытался явно удалить кешированный ответ для моего запроса , но это, похоже, не имеет никакого эффекта. Что дает?
Редактировать: Кроме того, NSHTTPCookieStorage очищается перед каждой загрузкой, и я могу подтвердить, что последующие загрузки извлекают четыре ресурса вместо трех. Проблема кэширования сохраняется независимо от изменения.
Вы смогли решить проблему? Я пробовал все решения, упомянутые в SO и в других местах, но не мог этого сделать. Кроме того, некоторые приложения, похоже, это успешно говорят httpwatch для iOS. – Ravi
Использование [[NSURLCache sharedURLCache] removeAllCachedResponses]; казалось, разрешал проблему кэширования, но с обновлением iOS 7.0 этот метод вызывал сбой объекта [NSURLCache sharedURLCache] в стеке malloc/delete. – dodeskjeggen