Есть ли способ очистить все данные, хранящиеся от установки приложения?

У меня есть приложение для iOS, которое хранит данные в NSUserDefults и многие другие данные помещаются в кеш в результате загрузки веб-представления, подписи в социальных сетях и т. д. Я хочу удалить все данные из кеша, созданного приложением.

Есть ли способ сделать это программно в iOS?

6 ответов

Вы можете попробовать это

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 Cache

[NSURLCache sharedURLCache] removeAllCachedResponses];

// Удалить куки

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

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

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

Пытаться

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

или же

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

Некоторые из кешей связаны с информацией других приложений. Вы должны быть осторожны при удалении их. Просто напомню, чтобы проверить перед операцией. Я сделал подобные глупые ошибки раньше. Если вы нашли отличный инструмент. Поделись, пожалуйста! Благодарю.

Попробуй это,

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

Если вы используете NSUserDefaultsВы можете попробовать это.

Что касается других файлов кэша, я думаю, что вы должны хранить их все в папке, чтобы их можно было легко удалить, удалив всю папку кэша.

Вы можете попробовать использовать [[NSURLCache sharedURLCache] removeAllCachedResponses];

Для получения дополнительной информации, обратитесь к ссылке http://iphonedevsdk.com/forum/iphone-sdk-development/104198-programmatically-clearing-app-cache.html

Другие вопросы по тегам