I have an app with a Today widget extension. I need the app, widget, and other instances of the app and widget on other devices to all share data, so I'm using iCloud Core Data integration. At first, I had the app and widget (within a single device) sharing the same Core Data store (sqlite) in a shared container directory. Now I've enabled iCloud syncing, and that's working between devices, but now I'm getting inconsistent data shown between the app and the widget on the same device (?!?). The problem could be with my widget GUI update cycle or Notification Center subscriptions, which I'm still troubleshooting, but while I do that:
What is the "right" solution for sharing data from Core Data between an app and a widget (or two apps I suppose) on the same device when you're using Core Data + iCloud? Should they share a single physical store, or should they each have their own store? Are there gotchas to either if both approaches are valid?