2016-10-03 2 views
1

iOS 10에서 캐시를 지우려고합니다. 그러나 removeAllCachedResponses이 작동하지 않습니다. iOS10에서 removeAllCachedResponses이 고장났습니다. 이것은 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

관련 문제