Desativar UIWebView DiskImageCache
Ao carregar documentos que contenham imagens (comoDocx do Microsoft Word arquivo), o UIWebView sempre armazenará em cache as imagens quando receber um aviso de memória, independentemente da política de cache.
A seguir, há um exemplo de trecho de código:
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];
Nestas circunstâncias, se ocorrer um aviso de memória, é criada uma nova pasta notmp diretório do aplicativo, geralmente chamadoDiskImageCache-random_suffix e todas as imagens no documento aberto são salvas aqui.
Depois deUIWebView carrega um novo pedido, se eu ligar
[sharedCache removeAllCachedResponses];
essas imagens temporárias são removidas.
A única maneira de impedir o armazenamento em cache das imagens é chamar
[NSClassFromString(@"WebCache") performSelector:@selector(setDisabled:) withObject:[NSNumber numberWithBool:YES]];
mas isso significa usar API privada.
Existe uma maneira "amigável da Apple" para conseguir isso?