CloudKit исключает ограниченные объекты

#ios #core-data #cloudkit #unique-constraint

Вопрос:

Я пытаюсь интегрировать CloudKit в свое приложение. Я понимаю, что CloudKit не поддерживает Ограниченные сущности (хотя я не понимаю, почему). Теперь, помимо Основных сущностей данных, существуют также Конфигурации, содержащие эти Сущности. Конфигурация может быть помечена как «используется с CloudKit». На самом деле, это единственное свойство. Таким образом, для меня имело бы смысл, что если у меня есть конфигурация (назовем ее «Облаком»), которая содержит только объекты, которые НЕ ограничены, и это единственная конфигурация, помеченная как «используется с CloudKit», ни один ограниченный объект не будет отражен в облаке.

В моем приложении я делаю это:

 lazy var persistentContainer: NSPersistentCloudKitContainer = {
            let container = NSPersistentCloudKitContainer(name: "flixer-data")
              
            container.loadPersistentStores(completionHandler: { (storeDescription, error) in
                if let error = error as NSError? {
                    fatalError("Unresolved error (error), (error.userInfo)")
                }
            })
            
            
    #if DEBUG
            do {
                // Use the container to initialize the development schema.
                try container.initializeCloudKitSchema(options: [])
            } catch {
                // Handle any errors.
                
                print("Error info: (error)")
            }
    #endif
 

У меня есть одна конфигурация с пометкой «используется с CloudKit», которая не содержит никаких ограниченных сущностей.

Однако, когда я запускаю свое приложение, оно жалуется на ограниченную сущность, которую я использовал для синхронизации с cloud kit, но которая не является частью моего маркера конфигурации «используется с CloudKit».

На моей панели управления CloudKit я думаю, что очистил все, нажав «Сбросить среду», а также удалил свое приложение с устройства перед повторной сборкой.

Является ли это ожидаемым поведением? Разве у меня не может быть НИКАКИХ ограничений, даже если я не синхронизирую ограниченную сущность с CloudKit?