2016-10-03 4 views
1

Я пытаюсь очистить кеш в iOS 10. Но removeAllCachedResponses не работает. Есть removeAllCachedResponses сломанной в iOS10. Поскольку это работает в iOS 9.Как очистить кеш в iOS10?

+0

Вы видели это [ответ] (http://stackoverflow.com/a/5606703/3941304)? –

ответ

-2

Если вы хотите удалить файл из каталога приложений. Существует много путей пути от Файл из Справочника, следующий является одним из них.

NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
NSString *mainPath = [myPathList objectAtIndex:0]; 

mainPath = [mainPath stringByAppendingPathComponent:DirectoryName]; 

Теперь вы можете удалить файл на этом пути MainPath это полный путь файла.

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSError *error; 
BOOL fileExists = [fileManager fileExistsAtPath:mainPath]; 

if (fileExists) 
{ 
    BOOL success = [fileManager removeItemAtPath:mainPath error:&error]; 
    if (!success) NSLog(@"Error: %@", [error localizedDescription]); 

} 
1

Это вы об этом говорите?

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 

Вы также можете изменить поведение кэша ваших запросов для выборочного кэширования ответов. Если вы используете AFNetworking случайно, вы можете использовать setCacheResponseBlock. Например. в одном проекте я установил его для возврата nil для всех больших видео и аудио файлов. Но пусть он кэширует файлы меньшего размера.

[streamingOperation setCacheResponseBlock:^NSCachedURLResponse *(NSURLConnection *connection, NSCachedURLResponse *cachedResponse) { 
    return nil; // Ensures we are not unecessarily caching asset data to Cache.db 
}]; 
+0

Мое приложение требует очистки всех ответов на кеш. – Amon