更新后,NSUserDefaults更改了IOS应用程序崩溃

时间:2015-08-08 06:51:27

标签: ios xcode6.4

更新了IOS应用程序,更改了NSUser默认密钥(添加了更多密钥并更改了一些现有密钥名称)应用程序在从商店更新后的初始化时崩溃。如果我完全删除应用程序并重新安装它,那么它工作正常。我们无法清除以前的NSUser默认值并在更新应用程序时重新创建它(我的意思是通过在更新的应用程序中编写一些逻辑来完全重新安装)?.

5 个答案:

答案 0 :(得分:0)

您可以使用以下代码清除NSUserDefault

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"yourkey"];

答案 1 :(得分:0)

尝试同步用户默认值

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"YourKey"];
[[NSUserDefaults standardUserDefaults] synchronize];yourkey

答案 2 :(得分:0)

我建议编写一个迁移器例程,它在应用程序启动时检查某些以前的密钥,并分别更新默认数据库。

答案 3 :(得分:0)

你可以通过这样做来清理整个NSUserDefaults,以防忘记密钥或其他内容:

   [[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary]  forName:[[NSBundle mainBundle] bundleIdentifier]];

答案 4 :(得分:0)

您可以首次检查应用是否正在营业,然后清除NSUserDefault,如下所示

[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary]  forName:[[NSBundle mainBundle] bundleIdentifier]];

然后根据您的要求再次设置NSUserDefault