我正在开发一个应用程序,其数据管理是通过Core Data实现的,我正在研究如何实现一个功能来同步两个不同设备之间的数据(甚至最终在iDevices和Mac之间)。
到目前为止,我没有发现任何有趣或有用的东西,所以我要求你提供一个好的起点,指南或模型。你有没有意识到这样的事情?
我已经开始对这个问题给予赏金。同步在iOS上可能是一项艰巨的任务,但是,有很多应用程序可以提供设备到设备的同步功能。我的问题是:他们是怎么做到的?什么是最好的方法?有哪些不同的解决方案?
由于iCloud已于近一年前发布,因此这个问题肯定已经过时了。我想保持它活着,因为它可以提供有关设备之间移动数据同步的有趣见解。
答案 0 :(得分:11)
如果你想自己做,这可能是一个非常好但又具有挑战性的练习。我不知道任何第三方框架可以促进Apple之间的“iDevices”之间的P2P连接,而不是下面的“iDevices”。如果您不想重新发明轮子,可以沿着这些线进行一些研究。我根据我(通过app服务器实现同步服务的经验)回答 - 使用P2P方法的原则大致相同。
第一步是设计用于同步数据的协议。您可能需要自己回答的问题:
这几乎没有触及表面。当你前进时,你肯定会发现更多需要考虑的事情。
接下来,确定您希望如何在设备之间进行连接。你似乎更喜欢无线解决方案,P2P类型。为此,我将首先看一下这些工具:
根据您之前讨论的设计决策选择您认为最舒适的工具。我无法帮助你,因为我对他们中的任何一个都没有任何经验。正如Morpheus所说:
我只能告诉你门。你是 那个必须走过它的人。
抱歉,小幽默:)
最后,决定实施同步机制的解决方案。你可以,例如选择客户端 - 服务器模型(一个设备将侦听连接,另一个设备将启动它)。
更多相关文档:
我希望这会给你一个起点。
答案 1 :(得分:3)
同步数据非常棘手。简单的解决方案比没有解决方案更糟糕。
要获得关于此事的良好精神指导,请查看the authors of Things正在使用即将推出的云同步功能执行的操作。我希望他们将发布一个同步API,开发人员可以通过它实现同步服务。但即使他们把它保留在自己身上,他们也能很好地展示出真正完成任务所需要的那种自我反省。
答案 2 :(得分:2)
“适用于iOS的Couchbase”可能会满足您的需求
https://github.com/couchbaselabs/iOS-Couchbase
根据自述文件:
Mobile Couchbase for iOS Apache CouchDB on iOS provides a simple way to sync your application
跨设备的数据并提供云 备份用户数据。与其他不同 云解决方案,数据托管在 Couchbase Mobile的设备,所以 即使网络瘫痪或缓慢 (飞机,地铁,后院) 应用程序响应用户。
What this means for you: You can embed the rock solid distributed database, Mobile
Couchbase,在您的iOS设备上。 您的iOS应用程序可以使用Apache CouchDB经过充分验证的同步 技术。 如果您< 3 CouchApps,您可以将它们部署为iOS应用程序。
答案 3 :(得分:-1)
我会从Apple API Sync Services开始,看看它是否符合您的需求。原则上,它可以让您在所有Apple设备和服务之间同步。