Отключить UIWebView DiskImageCache

При загрузке документов, содержащих изображения (например, файл Microsoft Word docx ), UIWebView всегда будет кэшировать изображения, когда он получает предупреждение о памяти, независимо от политики кэша.

Ниже приведен пример фрагмента кода:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:1024 * 1024 diskCapacity:0 diskPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"URLCache"]]; [NSURLCache setSharedURLCache:sharedCache]; NSURLRequest* req = [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.its.swinburne.edu.au/about/projects/templates/TechnicalSpecificationTemplatev1.1-[ProjectName]-[ver]-[YYYYMMDD].docx"] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10]; 

В этих обстоятельствах при возникновении предупреждения о памяти новая папка создается в каталоге tmp приложения, обычно называемом DiskImageCache-random_suffix, и все изображения в открытом документе сохраняются здесь.

После того, как UIWebView загрузит новый запрос, если я позвоню

 [sharedCache removeAllCachedResponses]; 

эти временные изображения удаляются.

Единственный способ предотвратить кеширование изображений – вызвать

 [NSClassFromString(@"WebCache") performSelector:@selector(setDisabled:) withObject:[NSNumber numberWithBool:YES]]; 

но это означает использование частного API.

Есть ли «дружественный Apple» способ достичь этого?

One Solution collect form web for “Отключить UIWebView DiskImageCache”

Я понял это после просмотра WebKit «недокументированных» предпочтений. При следующей настройке можно отключить DiskImageCache для всего срока службы приложения:

 [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitDiskImageCacheEnabled"]; [[NSUserDefaults standardUserDefaults] synchronize]; 
  • UIWebView не загружает ответную веб-страницу правильно
  • Содержимое UIWebView шире на iOS 5, чем на iOS 6
  • Как включить включение UIWebView в UIScrollView?
  • Предотвращение прокрутки UIWebView при появлении клавиатуры
  • Как скрыть UIPopoverController, когда UIWebView воспроизводит полноэкранный фильм с YouTube?
  • Клавиатура UIWebView при настройке body contenteditable на true
  • WKWebKit: нет параметров dataDetectorTypes
  • UIWebView не загружает ссылки с сертификатом (https: // prefix)
  • Как обнаружить и обработать коды ошибок HTTP в UIWebView?
  • Как получить HTML-тег, который отображается на экране UIWebView, из всего HTML-тега, загруженного в UIWebView
  • Как получить позицию элемента в UIWebView?
  • Interesting Posts

    Как очистить аудио с помощью AVPlayer?

    Трансформации CTM против аффинных преобразований в iOS (для перевода, поворота, масштабирования)

    Вход в систему Facebook для входа в App Engine от iOS

    iOS, как сохранить метаданные фотосферы XMP, сохраняя их в Camera Roll?

    Как добавить дополнение к UIView?

    Цель C – Сделать iVars скрытым

    Динамическая высота TableView в виде прокрутки

    iOS: Как открыть камеру с эффектом анимации?

    Как изменить размер UIView в iOS6 с автозапуском?

    Мое приложение было просто отклонено для использования структуры поддержки объявлений. Какая библиотека несет ответственность?

    Ошибка: недоступна, поскольку она не имеет точек входа

    Запуск iPhone / iPad Simulator для непрерывной интеграции

    Запустить приложение Apple Mail из моего собственного приложения?

    Проверка активов в App Store в приложении Loader

    Как создать плагин Unity3d для iOS

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.