gpt4 book ai didi

iphone - 如何在设备之间同步核心数据?

转载 作者:行者123 更新时间:2023-11-29 13:47:40 26 4
gpt4 key购买 nike

我有一个使用 coredata 来存储其内容的 iphone 应用程序。用户经常问我是否可以提供一种在他们的移动设备 (ipod/iphone/ipad) 之间同步数据的方法。截至目前,我不知道如何实现这一目标。我找到了 zsync,但这似乎取决于应用程序的 osx 版本(我没有)。我还阅读了即将推出的 iclouds 同步功能,这似乎是我需要的 - 但我认为它不可能同步核心数据内容,但只能同步基于文本的内容(例如 xml 存储文件)。这是真的吗?

我想到的另一种方法是滥用 eventkit api 通过用户提供的日历进行同步。因为我的应用程序主要是管理事件,可以选择将其存储在用户日历中(除了核心数据存储之外),所以通过日历同步对我来说似乎很好。但是我认为同步可能会中断,例如当用户在设备设置/账户设置中选择不同步整个日历而只选择 3 个月时。

有人知道我的方法应该是什么样的吗?有什么建议吗?

最佳答案

将设备同步到设备(如果这是您要实现的目标)可能非常棘手。您可以实现自己的发现和数据传输协议(protocol)并以这种方式解决问题,但这可能需要大量工作。

假设您已经拥有一台带有某种形式的注册/登录系统的服务器,则将设备同步到服务器再同步到设备要简单一些。然后,您只需要一种将当前数据库状态传送到服务器的方式,然后再从服务器返回到其他设备。同样,执行此操作涉及相当多的工作,但至少确定哪些设备与哪些其他设备同步以及它们如何将数据从一个设备传输到另一个设备的逻辑都隐含在服务器的工作中。

至于 iCloud,您通过它同步的编程内容需要从 UIDocument 派生,因此它不会帮助您处理通用核心数据实体。

如果您正在寻找一种无需自定义代码即可将所有 Core Data 内容从一台设备同步到另一台设备的开箱即用解决方案,那么确实没有这样的解决方案。您可以合理获得的最接近的方法是将您的应用程序使用的整个 .sqlite 文件从一台设备发送到另一台设备,覆盖目标设备的 .sqlite 文件。如果您的同步只需要是单向的,那效果很好,但显然不适合其他用例。也许你可以将这个模型与 iCloud 一起使用,如果你可以让它将你的应用程序的整个 .sqlite 文件作为一个原子实体同步。

关于iphone - 如何在设备之间同步核心数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6633986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com