繁体   English   中英

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

[英]How do you store data remotely in an iOS app?

我有一个依赖于某些键值对的应用程序,由于第三方API的影响,该值在将来的某个时刻可能会发生变化。 该应用程序仅在顺便连接到互联网时才有用。 如果有任何值更改,我不想发行该应用程序的新版本-我希望这些值是从服务器上的webservice / static xml文件中提取的。 如果遇到错误,我只需要拉出它们。

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

编辑:我对服务器端技术不是很感兴趣-我认为一个平面文件就足够了。 我感兴趣的是平面文件应采用哪种格式,以及在遇到错误后如何将其缓存到应用程序中。

尝试使用Redis高性能键值存储。 一些大型云厂商(例如cloudfoundry)使用的。 看看http://redis.io/ 可从http://redis.io/clients获得Objective-c客户端。

我想出了使用场景的最佳方法:

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

我决定仅在App委托中的applicationDidBecomeActive时才需要更新本地信息。 然后,我得到了json异步信息,并且成功后,我检查了json中的版本号,如果过时,将更改写入NSUSerDefaults(然后通过应用程序使用。)如果获取json文件时出现错误,我将继续我将已经具有之前的NSUserDefaults集,该组NSUserDefaults可以完成工作,直到用户接下来激活该应用程序为止。

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

您是否考虑过使用iCloud? 它支持键值对。 此处的更多信息: http : //developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/iCloud/iCloud.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM