在应用程序之间共享核心数据存储

Posted

技术标签:

【中文标题】在应用程序之间共享核心数据存储【英文标题】:share core-data store between apps 【发布时间】:2011-02-27 19:47:59 【问题描述】:

假设我有一个首选项窗格和一个应用程序。两者都应该共享存储在 coredata 存储中的数据。

是否可以从两个应用程序访问相同的文件,还是我要使用剪刀运行?

【问题讨论】:

【参考方案1】:

如果两者的型号相同,他们将能够使用同一家商店。但是,如果多个应用程序同时运行,则访问同一个商店可能会导致不一致。您需要相应地使用冲突解决方案进行计划。见http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreData/Articles/cdChangeManagement.html%23//apple_ref/doc/uid/TP30001201-CJBDBHCB。您可能还需要一种方法来告诉对方它更改了数据并且应该重新加载。

【讨论】:

如何告诉别人它被改变了?是否可以不使用分布式通知?请查看我的related question 并回答。 @Anoop 看起来你得到的答案涵盖了大部分可能性。您可以使用分布式对象,或更直接的 IPC 形式,例如套接字或该答案中列出的各种项目。

以上是关于在应用程序之间共享核心数据存储的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 和 Apple Watch 应用之间的核心数据共享

在 iOS 和 WatchOS 之间共享核心数据

iOS 和 macOS 应用程序之间的 iCloud 核心数据共享不起作用

无法在选项卡视图控制器之间共享数据?

核心数据 - 在多个线程之间共享 NSManagedObjects

在核心数据的上下文之间共享非持久对象?