我们正在构建一个新版本的iOS应用程序,并正在对应用程序的工作方式,存储数据等进行根本性的更改。有没有办法在用户删除旧的核心数据记录,任何存储的默认值等升级到新版本,这样它基本上是从空白的平板开始,好像刚刚安装好了一样?
答案 0 :(得分:0)
为什么不将它作为新应用发布?如果它要删除所有旧数据和所有旧的首选项,那么无论如何,无论如何都是新的应用程序。
话虽如此,有两个答案。
对于Core Data,最简单的方法可能只是创建一个新数据库(并删除旧数据库)。这样你也不会有任何迁移问题。
对于用户默认值,您可以使用dictionaryRepresentation
NSUserDefaults
方法获取所有密钥。你可以从中删除那些无趣的东西。
答案 1 :(得分:0)
在你的applicationDelegate中,你有:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{}
请考虑以下事项:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Check newly created userdefault if we need to clear the environment.
if ([[[NSUserDefaults standardUserDefaults]objectForKey:@"didClearEnvironment"]isEqualToString:@"Completed"])
{
// Environment already cleared.
}
else
{
// Do code to clear your application.
[Self clearApplicationenvironment];
//Create a stored default to tell the application that this is only supposed to happen once.
[[NSUserDefaults standardUserDefaults]setValue:@"Completed" forKey@"didClearEnvironment"];
}
// the rest of your code
}
免责声明:这是用记事本写的,编写代码的机会根本不可用。
希望它能给你一些想法:)