2016-10-03 121 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]; 

現在,你可以在此路徑刪除文件的主路徑文件的完整路徑。

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