我正在尝试为我的 ios 应用程序制作今天的扩展。今天的扩展将根据与核心数据一起保存的数据显示“下一个”课程。我一直在做一些研究,我知道我必须与 appGroup 共享我的persistentContainer。所以我做了 :
public extension NSPersistentContainer {
func addToAppGroup(id: String) {
guard let fileContainer = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: id) else {
fatalError("Shared file container could not be created.")
}
let storeURL = fileContainer.appendingPathComponent("\(self.name).sqlite")
let storeDescription = NSPersistentStoreDescription(url: storeURL)
self.persistentStoreDescriptions.append(storeDescription)
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的核心数据堆栈中:
internal class CoreDataContainer {
static var persistentContainer: NSPersistentContainer = {
let container = NSPersistentCloudKitContainer(name: "SchoolCompanion")
container.addToAppGroup(id: "group.com.Ce-dricLoneux.School-Companion")
container.loadPersistentStores(completionHandler: { (_, error) in
if let error = error as NSError? {
fatalError("Unresolved error …Run Code Online (Sandbox Code Playgroud)