我有一个 iOS 应用程序,它存储数据,NSUserDefults
并且由于 Web 视图加载、社交媒体签名等,许多其他数据被设置在缓存中。我想从应用程序创建的缓存中删除所有数据。
有什么方法可以在 iOS 中以编程方式执行此操作吗?
我有一个 iOS 应用程序,它存储数据,NSUserDefults
并且由于 Web 视图加载、社交媒体签名等,许多其他数据被设置在缓存中。我想从应用程序创建的缓存中删除所有数据。
有什么方法可以在 iOS 中以编程方式执行此操作吗?
尝试
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
或者
[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
你可以试试这个
NSUserDefaults
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
或者
NSUserDefaults * defs = [NSUserDefaults standardUserDefaults];
NSDictionary * dict = [defs dictionaryRepresentation];
for (id key in dict) {
[defs removeObjectForKey:key];
}
[defs synchronize];
UIWebview 缓存
[NSURLCache sharedURLCache] removeAllCachedResponses];
//删除cookies
for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
}
尝试这个,
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"defunctPreference"];
一些缓存与其他应用程序的信息相关联。删除它们时应该小心。只是提醒您在操作前检查。我以前也犯过类似的愚蠢错误。如果你找到了一个很棒的工具。请分享!谢谢。
您可以尝试使用[[NSURLCache sharedURLCache] removeAllCachedResponses];
更多详情,请参考链接http://iphonedevsdk.com/forum/iphone-sdk-development/104198-programmatically-clearing-app-cache.html
如果你使用NSUserDefaults
,你可以试试这个。
至于其他缓存文件,我认为你应该将它们全部保存在一个文件夹中,以便通过删除整个缓存文件夹来轻松删除它们。