Is there any way to clear all data stored from the

2019-05-10 18:54发布

I have an iOS app which stores data in NSUserDefults and many other data is set in cache as a result of web view load, social media signing etc. I want to remove all the data from cache created by the app.

Is there any way to do this programmatically in iOS?

6条回答
够拽才男人
2楼-- · 2019-05-10 19:32

You can try using [[NSURLCache sharedURLCache] removeAllCachedResponses];

For more details, refer to link http://iphonedevsdk.com/forum/iphone-sdk-development/104198-programmatically-clearing-app-cache.html

查看更多
\"骚年 ilove
3楼-- · 2019-05-10 19:33

Try this,

 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"defunctPreference"];
查看更多
该账号已被封号
4楼-- · 2019-05-10 19:48

Try

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

or

[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
查看更多
forever°为你锁心
5楼-- · 2019-05-10 19:49

If you use NSUserDefaults, you may try this.

In terms of other cache files, I think you should keep all of them in a folder, so that they can be removed easily by removing the whole cache folder.

查看更多
我欲成王,谁敢阻挡
6楼-- · 2019-05-10 19:51

You could try this

NSUserDefaults

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

or

NSUserDefaults * defs = [NSUserDefaults standardUserDefaults];
NSDictionary * dict = [defs dictionaryRepresentation];
for (id key in dict) {
    [defs removeObjectForKey:key];
}
[defs synchronize];

UIWebview Cache

[NSURLCache sharedURLCache] removeAllCachedResponses];

//Delete cookies

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

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

    [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
  }
 }
查看更多
叼着烟拽天下
7楼-- · 2019-05-10 19:55

Some of the caches are connected with other apps' information. You should be careful when you delete them. Just remind you to check before operating. I have made the similar stupid mistakes before. If you have found a great tool. Please share! Thanks.

查看更多
登录 后发表回答