2012-01-19 94 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

相关问题