首页 > 解决方案 > 无法初始化 CloudKit 架构,因为协调器中没有存储配置为使用 CloudKit

问题描述

尝试初始化 Cloudkit架构时出现此错误:

Error Domain=NSCocoaErrorDomain Code=134060 "A Core Data error occurred." UserInfo={NSLocalizedFailureReason=Couldn't initialize CloudKit schema because no stores in the coordinator are configured to use CloudKit: ()}

这是我的代码:

private lazy var persistentContainer: NSPersistentContainer = {
        let container = NSPersistentCloudKitContainer(name: self.objectModelName)
        
        // Create a store description for a CloudKit-backed local store
        let cloudStoreLocation = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("iCloud.sqlite")
        let cloudStoreDescription = NSPersistentStoreDescription(url: cloudStoreLocation)
        cloudStoreDescription.configuration = "iCloud"

        // Set the container options on the cloud store
        cloudStoreDescription.cloudKitContainerOptions = NSPersistentCloudKitContainerOptions(containerIdentifier: "iCloud.myname.app")
        
        // Update the container's list of store descriptions
        container.persistentStoreDescriptions = [
            cloudStoreDescription
        ]
        
        do {
            try container.initializeCloudKitSchema()
        } catch {
            print(error)
        }
        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
            if let error = error as NSError? {
                fatalError("Unresolved error \(error), \(error.userInfo)")
            }
        })
        return container
    }()

这是我的:项目配置

这是我的:数据模型架构

你能帮我找出我做错了什么吗?

谢谢!

标签: swiftcore-datacloudkit

解决方案


看在上帝的份上,我只需要使用我的 AppleID 登录 iPhone 的设置,并Settings > My Name > iCloud在同一设备中启用 iCloud Drive。

Apple 开发者文档的教程中没有明确提到这一点。


推荐阅读