0

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

4

5 回答 5

0

尝试同步用户默认值

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"YourKey"];
[[NSUserDefaults standardUserDefaults] synchronize];yourkey
于 2015-08-08T07:09:54.087 回答
0

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

于 2015-08-08T07:12:32.317 回答
0

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

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"yourkey"];
于 2015-08-08T07:03:24.563 回答
0

您通常可以通过这样做清除整个 NSUserDefaults,以防万一您忘记了密钥或其他内容:

   [[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary]  forName:[[NSBundle mainBundle] bundleIdentifier]];
于 2015-08-08T07:53:01.980 回答
0

您可以检查应用程序是否第一次打开然后清除NSUserDefault如下

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

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

于 2015-08-08T09:36:56.310 回答