iOS App Update - 删除旧的核心数据记录,用户默认值等

时间:2013-09-24 07:57:41

标签: ios

我们正在构建一个新版本的iOS应用程序,并正在对应用程序的工作方式,存储数据等进行根本性的更改。有没有办法在用户删除旧的核心数据记录,任何存储的默认值等升级到新版本,这样它基本上是从空白的平板开始,好像刚刚安装好了一样?

2 个答案:

答案 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     
}

免责声明:这是用记事本写的,编写代码的机会根本不可用。

希望它能给你一些想法:)