Is there any way to clear all data stored from the installation of app?

4.4k views Asked by At

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

There are 6 answers

0
Henry H Miao On

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.

0
Metalhead1247 On

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];
  }
 }
0
AudioBubble On

Try

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

or

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

Try this,

 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"defunctPreference"];
1
Vi Matviichuk On

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

0
Melissa Baker On

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.