如何观察核心数据持久存储在包含应用程序和扩展之间的变化

How to observe Core Data persistent store changing between containing app and extension

我在共享应用组中设置了sqlite文件,包含应用和应用扩展都可以将实体写入商店。问题是:当包含应用程序和扩展程序同时为 运行 时,当我从扩展程序添加新实体时,如何让包含应用程序知道商店已更改并让它执行刷新?反之亦然?

我完成了一个 Swift 项目:https://github.com/cxa/AppExtensionCommunicator

简而言之,您可以处理 CFNotificationCenterGetDarwinNotifyCenter() 发布的通知,这种类型的通知可以在扩展程序及其包含的应用程序之间传递。查看项目了解详情。