【问题标题】:Is there any way to clear all data stored from the installation of app?有什么方法可以清除应用程序安装中存储的所有数据?
【发布时间】:2015-01-23 05:59:49
【问题描述】:
我有一个 iOS 应用程序,它将数据存储在 NSUserDefults 中,并且由于 Web 视图加载、社交媒体签名等原因,许多其他数据都设置在缓存中。
我想从应用创建的缓存中删除所有数据。
有没有办法在 iOS 中以编程方式执行此操作?
【问题讨论】:
标签:
ios
iphone
caching
nsuserdefaults
clear-cache
【解决方案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];
//删除cookies
for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
}
【解决方案2】:
试试
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
或
[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
【解决方案3】:
试试这个,
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"defunctPreference"];
【解决方案4】:
一些缓存与其他应用的信息相关联。删除它们时应该小心。只是提醒您在操作前检查。我以前也犯过类似的愚蠢错误。如果你找到了一个很棒的工具。请分享!谢谢。
【解决方案6】:
如果你使用NSUserDefaults,你可以试试this。
对于其他的缓存文件,我觉得你应该把它们都放在一个文件夹里,这样就可以通过删除整个缓存文件夹来轻松删除它们。