CoreData Data Sharing with AppGroup

I have the following lines of code to access data through CoreData.

import Foundation
import CoreData
import CloudKit

class CoreDataManager {
    static let instance = CoreDataManager()
    let container: NSPersistentCloudKitContainer
    let context: NSManagedObjectContext
    
    init() {
        container = NSPersistentCloudKitContainer(name: "ABC")
        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
            if let error = error as NSError? {
                print(error.userInfo)
            }
        })
        context = container.viewContext
        context.automaticallyMergesChangesFromParent = true
        context.mergePolicy = NSMergePolicy(merge: .mergeByPropertyObjectTrumpMergePolicyType)
    }
    
    func save() {
        do {
            try container.viewContext.save()
            print("Saved successfully")
        } catch {
            print("Error in saving data: \(error.localizedDescription)")
        }
    }
}

I have confirmed that I can share data between iPhone and iPad. Now, I need to use AppGroup as well. I have changed my code as follows.

import Foundation
import CoreData
import CloudKit

class CoreDataManager {
    static let shared = CoreDataManager()
    let container: NSPersistentContainer
    let context: NSManagedObjectContext
    
    init() {
        container = NSPersistentCloudKitContainer(name: "ABC")
        container.persistentStoreDescriptions = [NSPersistentStoreDescription(url: FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "some group name")!.appendingPathComponent("CoreDataMama.sqlite"))]
        container.loadPersistentStores(completionHandler: { (description, error) in
            if let error = error as NSError? {
                print("Unresolved error \(error), \(error.userInfo)")
            }
        })
        context = container.viewContext
        context.automaticallyMergesChangesFromParent = true
        context.mergePolicy = NSMergePolicy(merge: .mergeByPropertyObjectTrumpMergePolicyType)
    }
    
    func save() {
        do {
            try container.viewContext.save()
            print("Saved successfully")
        } catch {
            print("Error in saving data: \(error.localizedDescription)")
        }
    }
}

Other files being unaltered, my sample apps aren't sharing data. What am I doing wrong? Just FYI, I'm using actual devices. Thank you for your reading this topic.

Accepted Answer

Oops...

let container: NSPersistentContainer

should be

let container: NSPersistentCloudKitContainer

I've made a silly mistake two days in a row. I wish I could find a cave to hide myself.

CoreData Data Sharing with AppGroup
 
 
Q