1

我们正在构建一个新版本的 iOS 应用程序,并对应用程序的工作方式、存储数据等进行根本性更改。当用户升级到新版本,这样它基本上是从一张白纸开始,就好像刚安装的一样?

4

2 回答 2

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     
}

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

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

于 2013-09-24T08:11:37.440 回答
0

为什么不把它作为一个新的应用程序发布呢?如果它要删除所有旧数据和所有旧偏好,那么无论如何它都是一个新应用程序。

话虽如此,对此有两个答案。

对于 Core Data,最简单的方法可能就是创建一个新数据库(并删除旧数据库)。这样您也不会遇到任何迁移问题。

对于用户默认值,您可以dictionaryRepresentation使用NSUserDefaults. 您可以从那里删除无趣的。

于 2013-09-24T08:03:52.940 回答