有没有办法在公共容器中使用 iCloud KeyValue Storage?

Posted

技术标签:

【中文标题】有没有办法在公共容器中使用 iCloud KeyValue Storage?【英文标题】:Is there a way to use iCloud KeyValue Storage in public container? 【发布时间】:2021-01-23 10:04:10 【问题描述】:

我知道我可以使用 CloudKit publicDatabase 并创建一个在我的应用程序的所有用户之间共享的记录。但我实际上需要 sama 公共数据库,但对于 KeyValueStorage。像 iCloud 中的公共 UserDefaults 之类的东西。有可能吗?

我的商店是这样初始化的:

let keyValueStore = NSUbiquitousKeyValueStore.default

但这仅适用于当前用户容器,不适用于 publc。

【问题讨论】:

【参考方案1】:

NSUbiquitousKeyValueStore 和 CloudKit 数据库完全不相关。 (除此之外,它们都是云存储。:-)

如果您需要公共 CloudKit 数据库中的 NSUbiquitousKeyValueStore 之类的东西,您需要自己模拟这个。例如,通过将字典序列化为单个 Data 对象并存储该对象或具有相应填充的记录类型(键、值)。

【讨论】:

以上是关于有没有办法在公共容器中使用 iCloud KeyValue Storage?的主要内容,如果未能解决你的问题,请参考以下文章

公共 iCloud 数据

iCloud 无处不在的容器没有在应用程序删除时被清理?

删除 iCloud 容器内容

iOS iCloud 文档更改通知

清除/清除 CloudKit 容器的所有用户 iCloud 记录

如何在没有 UIDocumentPickerViewController 的情况下访问所有 iCloud 驱动器文件(应用程序容器外)?