2012-01-19 137 views
0

我有一個應用程序依賴於某些關鍵值對,其中由於第三方api,值可能會在將來的某個點發生更改。該應用程序只有在連接到互聯網時纔有用。如果有任何值更改,我不想發佈新版本的應用程序 - 我寧願這些值是從我的服務器上的webservice/static xml文件中提取的。如果我遇到錯誤,我只需要拉這些。如何在iOS應用程序中遠程存儲數據?

有沒有一個標準的方法來做到這一點,或者我應該只是推出自己的?

編輯:我對服務器端技術不太感興趣 - 我認爲一個平面文件就足夠了。我感興趣的是平面文件應該是什麼格式,以及一旦出現錯誤,如何將其緩存到我的應用程序中。

+0

一個有趣的解決方案,我會看看謝謝。但我仍然對一個更基本的解決方案感興趣 - 只有大約10個鍵/值對你看到 – petenelson

回答

0

我爲我的使用場景想出最好的辦法。然後,我使用AWS進行身份驗證,以便我可以訪問該文件。

我決定只需要在App Delegate中的applicationDidBecomeActive時更新本地信息。然後我得到了json異步和成功,然後我在json中檢查了一個版本號,如果過時的話,將更改寫入NSUSerDefaults(然後通過應用程序使用)。如果在獲取json文件時出現錯誤,我只是繼續已經有了一組NSUserDefaults可以完成這項工作,直到用戶下一次使應用程序處於活動狀態。

這個解決方案對我來說效果最好,因爲它易於維護,即使我的應用程序很受歡迎,也應該輕鬆處理負載。

0

嘗試redis,高性能的鍵值存儲。一些大型雲端用戶喜歡cloudfoundry。看看http://redis.io/。 Objective-c客戶端可在http://redis.io/clients

我建立這需要身份驗證的S3 JSON文件:

+0

感謝你的迴應,但我的問題更多的是關於客戶端。在服務器端一個平面文件就足夠了 – petenelson

相關問題