Я выяснил здесь существенную проблему: я путал то, что, по сути, два разных iClouds (или, по крайней мере, два совершенно разных способа использовать iCloud в качестве разработчика).
Это будет очевидно для многих / большинства людей, знакомых с программированием на iOS, но это был ключевой момент, который я не понял.
Без этой информации некоторые люди были сбиты с толку, говоря, что iCloud просто «автоматически работает», в то время как другие углубляются в необходимость настройки.Они оба были правы - просто говорили о разных вещах.
Итак, это то, чего я раньше не понимал: это два разных использования iCloud с точки зрения разработчика:
1) Автоматическое резервное копирование iCloud .Это общесистемная функция, которая позволяет пользователям выполнять резервное копирование данных со своего устройства.Пользователи включают его, включив «iCloud Backup» (настройки -> идентификатор Apple -> iCloud).После включения устройство автоматически регулярно выполняет резервное копирование данных пользователя.Эта функция автоматически создаст резервную копию данных из вашего приложения, которое включено в каталог app / Documents.Дополнительная информация здесь .
См. здесь для получения подробной информации о предотвращении резервного копирования определенных данных, если вы хотите.
Кроме размещения данных, резервное копирование которых вы хотите, в общесистемную резервную копию вдиректор по документам, вам, как разработчику приложения, ничего не нужно делать.Вам даже не нужно включать iCloud через XCode (я думаю - хотя другие, пожалуйста, исправьте меня, если я ошибаюсь).
Это не загрузит данные из iCloud в ваше приложение, когда оно загружено.Скорее, он сохраняет резервную копию (данных вашего приложения и других данных на телефоне пользователя) - основное преимущество которого заключается в том, что если пользователь потеряет свое устройство, он может восстановить эти данные на другом устройстве.
2) Приложение для конкретного облачного хранилища через iCloud. Это не происходит автоматически и требует значимой настройки.
Здесь вы можете использовать iCloud как облачное решение для бэкэнда.Например, вы можете отправлять определенные данные в iCloud при создании этих данных, а затем позже получать эти данные из iCloud в приложение, когда пользователь загружает приложение (вместо того, чтобы сохранять эти данные локально на устройстве пользователя).
Именно здесь и вступает CloudKit.
Чтобы включить это, вам нужно сгенерировать соответствующий файл разрешений - например, включить iCloud с CloudKit в Xcode и быть уверенным, что идентификатор приложения иПрофиль обеспечения подтверждает, что CloudKit включен.Для более подробной информации, см. Мои шаги с 1 по 7 в моем вопросе.Это должно работать, чтобы все было «включено».
Но это только первая часть, вам нужно все настроить.Для этого вам, вероятно, потребуется выполнить некоторую настройку контейнера, который CloudKit создает для вашего приложения, и добавить код, специфичный для внутреннего процесса в вашем приложении.В руководстве есть несколько полезных сведений, ссылки на которые приведены в предыдущем ответе.
Спасибо тем, кто предоставил информацию по этому вопросу, включая техническую поддержку Apple Developer.