服务扩展写入核心数据,但在应用中找不到任何内容



所以我目前有一个将数据写入CoreData的服务扩展设置(或者我相信它确实如此)。 鉴于 xcdatamodelid 与两个目标共享,我不能在一个目标中写入并在另一个目标中读取吗?

以下是我在两个目标中创建NSPersistenContainer的方法:

lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "commonName")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error (error), (error.userInfo)")
}
})
return container
}()

以下是我添加实体的方法:

func addEntity(uid: String, status: String) {
let context = persistentContainer.viewContext
if let entity = NSEntityDescription.entity(forEntityName: EntityNames.alertNotificationEntity, in: context) {
let managedObj = NSManagedObject(entity: entity, insertInto: context)
managedObj.setValue(uid, forKey: CoreDataEntityKeys.AlertNotificationEntity.uid)
managedObj.setValue(status, forKey: CoreDataEntityKeys.AlertNotificationEntity.status)
do {
try context.save()
} catch {
print(error.localizedDescription)
}
}
}

当收到通知并使用 addEntity 方法时,我不会得到任何致命信息。

在我的appDelegate中,当我尝试打印出值时,它说它只是空的。

我做错了什么? 是否无法在应用程序目标和服务扩展目标之间共享 CoreData?

编辑: 我应该补充一点,我已经尝试设置如何在当今扩展(iOS)中访问CoreData模型中概述的内容

应用和扩展程序之间的数据/文件可以使用应用群组共享。 选中在应用和扩展程序之间共享数据

最新更新