Coo*_*Man 3 core-data reset plist nsuserdefaults ios
这是一个iOS 101问题,我觉得不知道答案是一个屁股:-)问题是 - 如何将iOS应用程序重置为首次安装时的状态?该应用程序将内容存储在NSUserDefaults和plists中.如果要求用户删除并重新安装该应用程序似乎过分.
除了要求我的用户简单地重新安装应用程序之外,还有哪些可用的选项(这会让我看起来有点不创新:-))
这个特殊的应用程序使用NSUserDefaults和plists来存储数据.但是当你想出你的创造性解决方案时,我也会欣赏其他情况的任何线索(即核心数据和.plists中的数据)
此外,如果这是一个需要在应用程序代码中实现的功能,请欣赏有关优雅解决方案的建议.
谢谢!
小智 5
从沙箱中删除所有文件:
NSString *p = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent];
for (NSString *fname in @[ @"tmp", @"Library", @"Documents", @"Caches", @"Preferences" ]) {
NSString *path = [p stringByAppendingPathComponent:fname];
[[NSFileManager defaultManager] removeItemAtPath:path error:NULL];
}
Run Code Online (Sandbox Code Playgroud)
仅重置用户默认值的替代方法:
NSDictionary *dRepr = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
for (NSString *key in dRepr) {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
}
[[NSUserDefaults standardUserDefaults] synchronize];
[NSUserDefaults resetStandardUserDefaults];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2679 次 |
| 最近记录: |