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