2015-08-08 105 views
0

更新了iOS應用程序,並更新了NSUser默認密鑰(添加了更多密鑰並更改了一些現有密鑰名稱)從商店更新後,應用程序在初始化時崩潰。如果我完全刪除應用程序並重新安裝它,那麼它工作正常。我們無法清除之前的NSUser默認值,並在更新應用程序時重新創建它(我的意思是通過在更新的應用程序中編寫一些邏輯完全重新安裝)?NSUserDefaults在更新後更改了IOS應用程序崩潰

+1

如果您顯示崩潰是什麼(您可以使用Xcode控制檯來執行此操作),則可以更輕鬆地回答此問題。 –

回答

0

您可以使用下面的代碼清除NSUserDefault

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

嘗試應用程序啓動時分別更新默認數據庫同步用戶默認

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

我建議你寫一個遷移例程檢查某些前者鍵。

+0

謝謝。這個想法可能適用於我 –

0

可以usuually通過這樣做清理掉整個NSUserDefaults的,以防萬一您忘記了鑰匙或東西:

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

您可以檢查應用程序是開放的第一時間,然後明確NSUserDefault如下

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

之後根據您的要求再次設置NSUserDefault