2012-10-23 55 views
2

我想保存設備本身的數據,即使在刪除應用程序並再次安裝(數據甚至可以是一個整數/日期)後,它仍然是持久的。 據我所知,這是不可能的,因爲每個應用程序可以存儲數據只在它的沙箱(我知道我可以使用iCloud等,但我不希望任何服務用戶不能或給予應用程序特定的權限)。保存在iOS設備上的數據permenatly

至於我的理解唯一的選擇是將它存儲在我的服務器上。 但是,Apple不允許發送UDID或任何其他特定的設備ID,我無法獲取iTunes ID。我知道我可以使用任何其他ID如Facebook ID,但該應用程序沒有它,這會造成非常糟糕的用戶體驗。

我已經下載了能夠成功完成這些任務的應用程序(特別是將數據保存到我的設備中,即使在刪除後也無需輸入任何ID或登錄過程即可恢復)。他們是如何做到的呢?他們是否將UDID發送給某個服務器,並且蘋果錯過了,或者有將數據保存到應用沙盒之外的方法?

+0

你說的應用程序是否使用GameCenter? –

回答

5

那麼KeyChain,它可以存儲即使您刪除應用程序將保留的數據。

+0

謝謝! 我用過UICKeyChainStore,非常推薦! – Idan

+0

Keychain是否意味着它應該只保存一些與'Key'' Token''Auth'有關的東西? –

+0

鑰匙串是用於存儲憑據(密鑰,令牌,身份驗證,...)但是理論上,您可以將任何類型的數據保存到鑰匙串中。但這並不是爲了這一點而設計的。 – rckoenes

4

我們做到這一點在我們的應用程序:

Basiclly我們將創建自己的UDID和存儲設備(在鑰匙串)上。 結合用戶ID,爲用戶提供我們在服務器端需要的所有信息,以識別用戶及其設備。我們不在設備上存儲任何其他應用程序數據,所有服務器都由服務器管理。

0

您可以打包數據,將其存儲在應用程序的文檔文件夾中,然後將設備備份到雲端或iTunes。然後您可以執行恢復以恢復原狀。在備份和恢復之間,您只能在手機上執行任何操作。只是說。