Отключить 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]; 
  • Скажите iPhone, что этот номер не номер телефона
  • Что происходит с cookies веб-просмотра при закрытии приложения?
  • Можно ли отправить хэш-тег в файл url в UIWebView?
  • Загрузите другую страницу в UIWebView, когда пользователь проведет влево
  • UIWebView Прозрачный backgound в ios8
  • Как показать индикаторы прокрутки UIWebView
  • Открыть специальную ссылку в Safari от UIWebView
  • window.orientation не работает в UIWebView
  • SVG в uiWebView - в быстрой
  • Индикатор активности с пользовательским изображением
  • Как настроить заголовок «User-Agent» UIWebView в Swift
  • Interesting Posts

    Как остановить распознавание речи (диктовку) в Apple Watch, когда пользователь перестает говорить?

    Курсор UITextView полностью исчез во время редактирования

    Изменение масштаба при автоматической компоновке Включить, указать проблему

    Невозможно обнаружить Beacon, когда устройство уже находится в диапазоне Beacon, и затем мы включаем Bluetooth и приложение убито

    Что такое свойство edge edge в UIViewController?

    Рамка iOS не может быть обновлена ​​после первоначального архивирования

    CMDeviceMotion возвращает 0 значений для магнитного поля

    Как развернуть и свернуть строки, используя заголовок раздела в UITableView

    Исходная информация iOS

    формат пакета непризнанный, недействительный или неподходящий

    CoreAnimation, перемещение UIImageView с анимационной тенью в iOS 5 Xcode 4

    Почему эта спецификация автоопределения недостаточно?

    gpus_ReturnNotPermittedKillClient Crash с использованием SpriteKit в расширении клавиатуры из-за отсутствия событий жизненного цикла для приостановки OpenGL

    Больше не удается перетащить на Storyboard после установки Xcode 5

    Как сделать некоторые вещи в viewDidAppear только один раз?

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