Я понимаю, что CloudKit состоит в том, что если у пользователя есть два устройства - одно с версией приложения со схемой v2, а другое со схемой v1 - устройство со схемой v1 получит новые данные, но только для полей в v1. Все новые данные в новых полях, созданных в схеме v2, удаляются для этого конкретного устройства. Позднее, когда приложение со схемой v1 обновляется до схемы v2, новые данные в полях v2, сделанные в более новой версии приложения, никогда больше не извлекаются, и эти два устройства имеют несоответствие данных.
Это понимание взято из этого блога , обсуждающего NSPersistentCloudKitContainer (что я использую).
Это явно проблема, может быть несколько дней между тем, когда первый устройство обновляет приложение (например, iPhone) и когда второе устройство обновляет приложение (например, iPad). Какие стратегии я могу использовать в своей схеме или реализации для решения этой проблемы?