首页 > 解决方案 > 跨设备同步 Realm 数据

问题描述

我有一个使用 Realm 进行数据持久性的应用程序。我最近制作了一个 iPad 版本的应用程序。我希望用户可以使用两台设备 iPad 和 iPhone(或更多)。领域数据跨设备同步。Realms Cloud (mongoDB) 对我来说不是一个解决方案,因为我没有收入来资助它。所以我在考虑将 CloudKit 用作远程(更改)数据库。

我的想法是,如果用户在 iPhone 上使用了该应用程序并生成了大量数据,那么当他在他/她的 iPad 上安装该应用程序时,首先发送整个数据库(使用 AirDrop),这样两者他们处于同一状态。然后可以将更改上传到 CloudKit 并同步到所需的目的地。

我的问题是,我应该如何只将更改发送到 Cloudkit?(我不想将整个数据库存储在云中,因为我认为没有必要)并且在上传更改后,我希望所有设备都可以下载它们。我不知道的是,我应该如何检查所有连接 iCloud 的设备是否有更改?(因为如果每个设备都收到了上传的更改,我可能会考虑删除它们)。

我曾尝试使用SyncKit,但它不符合我的需求,因为我的数据模型具有一对多的关系。我尝试的另一个库是IceCream,但它不够可靠,并且在处理关系时仍然存在一些错误。他们俩都在上传整个数据库,而不仅仅是更改。

我希望有人可以帮助我,或者给一些好的建议,如何解决。提前感谢您,祝您有美好的一天!

标签: iosswiftrealmcloudkit

解决方案


推荐阅读