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