2013-10-13 43 views
0

我有一個Mac OS X應用程序與IAP。 IAP物品是可消費的,並且它們中的大量物品可以在很短的時間內使用,而不是一次使用,而是以小塊使用。所以,基本上我不太可能將這些項目的消耗保存在我的服務器上,因爲如果我這樣做了,我的應用程序需要幾乎不斷地與服務器通信,只是爲了更新小項目的消耗。如何在本地保存易損件IAP物品?

我已經設法將這些消耗品數據存儲在本地位於用戶應用程序容器文件夾中的文件上。我也使用過某種加密方式,因此用戶無法輕鬆地爲商品添加數量。

我的問題是:這種方法可靠嗎?我最關心的是用戶進行購買,然後以某種方式銷燬我在本地保存的數據;這個丟失的物品永遠不能被檢索。當用戶卸載或更新我的應用時,應用的容器文件夾中的數據是否會丟失?

另一方面,我無法在我的服務器上保存購買內容,並在用戶丟失文件時恢復它們,因爲我永遠不知道用戶從購買後已使用了哪些數量的產品。

回答

0

您可以使用鑰匙串。它由具有數據存儲/回溯API的Apple安全容器預定義。

+0

我實際上嘗試過Keychain,但是因爲我發現的所有例子都是針對iOS的,所以我無法在Mac上使用它:我可以將數據存儲在Keychain上,但用戶可以輕鬆訪問並更改它。我知道我做錯了什麼,但我無法弄清楚這個問題。所以,我放棄了使用鑰匙串。 – DARKMATTER

+0

所以你基本上可以實現你自己的加密保護服務。有很多圖書館這樣做。檢查這個http://stackoverflow.com/questions/1276798/crypto-library-suitable-for-objective-c你可以將用戶的數據存儲在iCloud中。 –

+0

是的,我可以加密數據。我主要關心的是在哪裏存儲這些加密數據?例如,如果我的應用程序被卸載或更新,我不希望這些數據丟失。如果用戶卸載或更新我的應用程序,將存儲在容器文件夾中的數據或您建議的iCloud數據會丟失嗎? – DARKMATTER