1

I need to access persistent container in my main target as well as app extension. So I have created a framework to share code and I created a NSPersistentContainer subclass like this :

class PersistentContainer: NSPersistentContainer {
  override class func defaultDirectoryURL() -> URL {
      return FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.xxx.xxx.xxx")!
}
  override init(name: String, managedObjectModel model: NSManagedObjectModel) {
    super.init(name: name, managedObjectModel: model)
  }
}

and in AppDelegate, I am doing this to load persistent store:

let storeDirectory = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.s2m.freadom")!
let url = storeDirectory.appendingPathComponent("SirikitWIthCoreDataDemo.momd")
print(url)
let mom = NSManagedObjectModel.init(contentsOf: url)
let container = PersistentContainer.init(name: "SirikitWIthCoreDataDemo", managedObjectModel: mom!)

It crashes when I try to load NSManagedObjectModel. I don't understand what am I doing wrong here?

Reckoner
  • 1,041
  • 2
  • 13
  • 29

0 Answers0