如何在iOS应用程序中远程存储数据?

时间:2012-01-19 08:54:54

标签: objective-c ios

我有一个依赖于某些键值对的应用程序,由于第三方API,该值可能会在未来的某个时间点发生变化。该应用程序仅在连接到互联网时才有用。如果任何值发生变化,我不想发布新版本的应用程序 - 我宁愿这些值是从我服务器上的webservice / static xml文件中提取的。如果我遇到错误,我只需要拉这些。

有没有一种标准的方法可以做到这一点,还是应该自己滚动?

编辑:我对服务器端技术不太感兴趣 - 我认为平面文件就足够了。我感兴趣的是平面文件应该是什么格式,以及在出现错误后如何将其缓存到我的应用程序中。

3 个答案:

答案 0 :(得分:0)

尝试redis,高性能键值存储。一些大型云播放器使用,如cloudfoundry。看看http://redis.io/。 Objective-c客户端位于http://redis.io/clients

答案 1 :(得分:0)

我找到了使用场景的最佳方式:

我在S3上设置了一个需要身份验证的json文件。然后我使用AWS for Objective C进行身份验证,以便我可以访问该文件。

我决定只需要在App Delegate中的applicationDidBecomeActive时更新本地信息。然后我得到了json异步并且成功后我检查了json中的版本号,如果过时写了NSUSerDefaults的更改(然后通过应用程序使用。)如果获取json文件时出错,我只是继续我已经有了上一组NSUserDefaults可以完成这项工作,直到用户下次启动应用程序为止。

这个解决方案对我来说效果最好,因为它易于维护,即使我的应用程序很受欢迎也应该轻松处理负载。

答案 2 :(得分:-1)