Я пытаюсь очистить кеш в iOS 10. Но removeAllCachedResponses
не работает. Есть removeAllCachedResponses
сломанной в iOS10. Поскольку это работает в iOS 9.Как очистить кеш в iOS10?
ответ
Если вы хотите удалить файл из каталога приложений. Существует много путей пути от Файл из Справочника, следующий является одним из них.
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]);
}
Это вы об этом говорите?
[[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
}];
Мое приложение требует очистки всех ответов на кеш. – Amon
Вы видели это [ответ] (http://stackoverflow.com/a/5606703/3941304)? –