#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?