2013-03-16 89 views
-1

我有一個使用NSUserDefaults保存遊戲進度的iOS遊戲。上次更新後,用戶遇到問題,該應用不再適用於該設備。該應用程序沒有任何問題,但由於某種原因下載應用程序時發生錯誤,不太確定發生了什麼。如何在不丟失NSUserDefaults的情況下重新安裝應用程序?

問題是,應用程序必須刪除並重新安裝。這可以做到不擦除NSUserDefaults?

我在嘗試刪除應用程序後,在iTunes中嘗試與iTunes同步,甚至通過iTunes重新安裝,但我無法恢復之前保存在我的測試設備上的遊戲。

我想重新安裝應用程序的唯一方法是通過應用程序更新。當它出來時,他會更新並不會丟失任何數據。它是否正確?或者還有其他方法可以做到這一點嗎?

我正在努力實現下一次更新的雲同步,所以這個問題不應該再次成爲問題:)。但是現在,這個用戶有什麼和我做的嗎?

+0

這是一種「遊戲中心」的構建方式,還是Game Center僅用於發佈和共享分數? – 2013-03-16 06:55:33

+0

如果你的用戶在技術上傾向於他,他可以使用諸如Phone View之類的東西來獲取Preferences目錄的內容,然後在重新安裝後恢復它。 – 2013-06-04 19:55:54

+0

[如何在iOS上正確存儲用戶數據?案例與NSUserDefaults](http://stackoverflow.com/questions/16925228/how-to-store-user-data-correctly-on-ios-case-with-nsuserdefaults) – 2013-06-04 21:34:00

回答

0

雲同步將是解決方案。如果您僅在刪除應用程序後才使用iPhone,則與其相關的每件事都會消失,並且沒有簡單的方法來檢索它。

+0

是的,我同意,但不幸的是,遊戲doesn'還沒有......我猜現在沒有什麼可做的了,這個用戶會失去他的比賽。但我想如果他不刪除應用程序並等待下一次更新,應用程序將被重新安裝,並且由於他沒有刪除應用程序,他的統計數據不會丟失。 – tomDev 2013-03-16 06:59:20

+1

@tomDev在這種情況下,該應用程序不會被重新安裝,而是被升級,並且沒有任何數據會被觸及。 – 2013-03-16 07:00:49

+0

H2CO3,謝謝,這就是我的想法。我會告訴他掛在那裏等待下一次更新。 – tomDev 2013-03-16 07:02:53

0

或者只存儲需要在鑰匙串中持久化的數據。

0

從iTunes Backupd恢復設備可能會重新安裝應用程序,並保留NSUserDefaults(假設它們包含在備份中)。

但是,這需要由用戶來完成... 一些同步選項是長期更好的解決方案。

相關問題