有没有办法清除从安装app中存储的所有数据?

时间:2014-11-25 09:40:25

标签: ios iphone caching nsuserdefaults clear-cache

我有一个iOS应用程序,用于存储NSUserDefults中的数据,并且由于Web视图加载,社交媒体签名等原因,许多其他数据都在缓存中设置。 我想从应用程序创建的缓存中删除所有数据。

有没有办法在iOS中以编程方式执行此操作?

6 个答案:

答案 0 :(得分:2)

尝试

 NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
 [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];

答案 1 :(得分:1)

你可以试试这个

<强> 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];

//删除Cookie

 for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {

  if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {

    [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
  }
 }

答案 2 :(得分:1)

试试这个,

 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"defunctPreference"];

答案 3 :(得分:1)

部分缓存与其他应用程序相关联。信息。删除它们时应该小心。提醒您在操作前检查。我之前犯过类似的愚蠢错误。如果你找到了一个很棒的工具。请分享!谢谢。

答案 4 :(得分:0)

您可以尝试使用[[NSURLCache sharedURLCache] removeAllCachedResponses];

有关详细信息,请参阅链接http://iphonedevsdk.com/forum/iphone-sdk-development/104198-programmatically-clearing-app-cache.html

答案 5 :(得分:0)

如果您使用NSUserDefaults,则可以尝试this

就其他缓存文件而言,我认为您应该将所有缓存文件保存在一个文件夹中,以便通过删除整个缓存文件夹轻松删除它们。