Есть ли способ очистить все данные, хранящиеся от установки приложения?
У меня есть приложение для 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