是否有可能推断上一次本地核心数据存储完全同步到 iCloud 的时间?

Posted

技术标签:

【中文标题】是否有可能推断上一次本地核心数据存储完全同步到 iCloud 的时间?【英文标题】:Is there a possibility to infer the last time when the local core data store was completely synced to iCloud? 【发布时间】:2014-01-30 19:50:38 【问题描述】:

我想知道是否可以确定我的本地Core Data 商店与iCloud 同步的时间。来自iCloud 是微不足道的。你可以把最后一个NSPersistentStoreDidImportUbiquitousContentChangesNotification的时间拿走。但是,我找不到任何方法来检查我的本地更改何时完全传输到iCloud

有什么想法吗?

【问题讨论】:

使用元数据查询检查 iCloud 容器中的事务日志文件。 【参考方案1】:

你找不到这个。唯一可用的信息是事务日志,但这些信息不会告诉您数据实际同步的时间。保存更改时会创建事务日志。稍后(可能很快,但不能保证)它们会同步到 iCloud 服务。您不会收到此通知。

可能可以通过来自其他设备的带外通信来推断同步时间。例如,当您收到 did-import 通知时,将当前时间写入NSUbiquitousKeyValueStore。然后监视该密钥以查看另一端何时收到更改。这至少会告诉您其他设备已收到一些更改。不过,它充其量只会通知您更改已在另一端下载的时间,而不是它们已成功上传到 iCloud 服务的时间。

【讨论】:

以上是关于是否有可能推断上一次本地核心数据存储完全同步到 iCloud 的时间?的主要内容,如果未能解决你的问题,请参考以下文章

将本地核心数据数据库与 Web 服务同步

rsync+inotify实现实时同步

将 JSON 对象存储到核心数据中

Rsync

MySQLmom程序增量同步MySQL数据到ES

多终端数据同步机制设计