diff --git a/apple/OmnivoreKit/Sources/Models/CoreData/StorageProvider.swift b/apple/OmnivoreKit/Sources/Models/CoreData/StorageProvider.swift index 43c958f57..374770177 100644 --- a/apple/OmnivoreKit/Sources/Models/CoreData/StorageProvider.swift +++ b/apple/OmnivoreKit/Sources/Models/CoreData/StorageProvider.swift @@ -12,6 +12,13 @@ public class PersistentContainer: NSPersistentContainer { let model = NSManagedObjectModel(contentsOf: modelURL)! let container = PersistentContainer(name: "DataModel", managedObjectModel: model) + // Store the sqlite file in the app group container. + // This allows shared access for app and app extensions. + let appGroupID = "group.app.omnivoreapp" + let appGroupContainer = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupID) + let appGroupContainerURL = appGroupContainer?.appendingPathComponent("store.sqlite") + container.persistentStoreDescriptions.first!.url = appGroupContainerURL + container.viewContext.automaticallyMergesChangesFromParent = true container.viewContext.name = "viewContext" container.viewContext.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump