0

iOS アプリの共有拡張機能を構築しています。アプリ グループを使用して、アプリと拡張機能の間で CoreData を共有しています。現在、拡張機能にデータをロードできますが、拡張機能に追加/保存しようとすると、アプリがクラッシュし、エラー メッセージが表示されます: Unresolved error Foundation._GenericObjCError.nilError, [:].

class CustomPersistentContainer: NSPersistentCloudKitContainer {
    
    override open class func defaultDirectoryURL() -> URL {
        var storeURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.gn.papyrus")
        storeURL = storeURL?.appendingPathComponent("Papyrus.sqlite")
        return storeURL!
    }
}

struct PersistenceController {
let container: NSPersistentCloudKitContainer

    init(inMemory: Bool = false) {
        container = CustomPersistentContainer(name: "Papyrus")
        
        if inMemory {
            container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null")
        }
        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
            if let error = error as NSError? {
                fatalError("Unresolved error \(error), \(error.userInfo)")
            }
        })
        
        
        container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
        container.viewContext.automaticallyMergesChangesFromParent = true
        
       
    }
}

データを保存しています....

private func addToRoot() {
            
        let newItem = Node(context: viewContext)
        newItem.text = sharedText
        newItem.dateAdded = Date()
      
        
        do {
            try viewContext.save()
        } catch {
         
            let nsError = error as NSError

            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
        }
        
            
    }
4

0 に答える 0