如何在iPhone和iPad之间保持plist存储在通用应用程序之间的文档目录中同步?



我有一个设置,其中我有一个plist文件,我需要在通用应用程序的设备之间保持同步。目前plist文件存储在文档目录中。

我一直在网上寻找保持文件同步的方法,很多解决方案似乎都基于Core Data。我不确定这是否可能,但是有没有办法在不使用Core data的情况下同步这个文件?如果是这样,请有人建议如何处理问题或指出我一些可以提供帮助的材料的方向吗?

更具体地说,我需要一种方法来确保所使用的设备具有 plist 文件的最新副本。例如,如果我在早餐时在iPad上编辑它,那么在午餐时间我将应用程序加载到iPhone上,我应该通过iPad看到早餐时间所做的编辑。

如果您在设置中打开了 iCloud 云备份,iCloud 会自动备份设备上所有应用(或选择性)的所有文稿目录。

但是上述事情我猜一天会发生一次。为了使其实时工作,您必须使用iCloud API。

希望这有帮助。

AFAIK 您需要为 iPhone/iPad 应用程序提供服务器 API 以发出 POST 请求。您可以发布整个文件或使用包含 plist 文件中实际数据的正文 (JSON/XML) 创建 POST 请求。您必须在服务器上维护 ETag/版本控制信息。要使同步正常工作,您需要在服务器上唯一标识每个用户并存储其 plist 信息。

每次应用程序启动期间,在iPhone/iPad应用程序中,通过发出HTTP请求来检查资源ETag(如果文件已上传)或版本(如果plist文件内容以XML/JSON形式发布)。您还可以在应用程序中开发调度程序功能以提高精度。如有更新,请下载并保存新的信息/plist文件。在应用程序 NSUserDefaults 中保留 ETag/version 的条目,并在此过程中对其进行更新。

友情建议:避免将任何可下载的数据/设置存储在Application_Home/文档目录中,因为应用程序可能会被拒绝。请阅读 Apple 开发者门户上的这篇文章和相关文档。

这只是初步的想法,即兴创作和优化这是由您弄清楚的...... :)
我希望这有帮助!

干杯!!
阿马尔。

最新更新