2

应用程序在 iCloud 中存储数据似乎有几种不同的方式(iCloud Drive Documents、Core Data with iCloud Sync、CloudKit Private Databases、Key Value Pairs 等),但我不确定是否仅此而已。这些不同类型的 iCloud 存储中的哪一种出现在 iCloud“管理存储”菜单中(即某些应用根本不显示,而其他应用列出“文档和数据”,而其他列出可以单独删除但不显示的文件) t 出现在 iCloud Drive 中)?我试图弄清楚,但文档对此有点含糊。

4

1 回答 1

1

亚伦,

您可以在三个“Apple 拥有”的位置存储 iOS 设备的数据、设备本身、iCloud Drive 和/或 iCloudKit 数据库中。

iCloudKit 数据库中还有另外三个位置。其中两个是真正意义上的数据库,因此您可以在其中存储信息的结构化区域,即键/值对和 CloudKit。CloudKit 数据库本身又分为两个主要部分,公共区域和私有区域。

它们的可访问性基于用户/应用程序进行管理。因此,作为开发人员,您可以选择使用或确实使您的文件可以在它们上访问或不访问。管理谁可以访问的规则可能会令人困惑,特别是因为它们可以/已经在不同的 iOS 版本中发生变化。

iCloud Drive 是最灵活和最不灵活的,您可以在其中存储所有内容,但您不能在其中共享任何内容,除非与您自己共享。

接下来是 iCloud 密钥/对数据库,但它仅由应用程序专门用于存储应用程序状态/首选项 [它的空间非常有限],同样您只能与自己共享。

接下来是 CloudKit 数据库,这也是一个应用程序一个应用程序使用的东西。因此,应用程序不共享数据库,也无法访问其他应用程序数据库,除非它们来自同一作者,并且共享是一项明确规定的内置功能。

也就是说,CloudKit 数据库有两个不同的区域,一个私有区域和一个公共区域。私人区域可以由应用程序的单个用户访问,任何人都可以在任何 iOS 设备上使用所述应用程序访问公共区域。

CloudKit 文档是 Apple 主要存储来自其应用程序的文档的区域,例如主题演讲、页面和数字;尽管他们近年来有所开放。它们也可以使用专门设计用于在 iCloudKit 文档区域中存储数据的应用程序与其他用户共享。它是您在 iOS 下最接近 Dropbox 的地方,当然没有使用 Dropbox。

最后,您可以将数据存储在您的 iOS 设备本身上,并选择通过 Apple 的文件应用程序与同一设备上的其他人共享数据,尽管这是最近的现状,因此仅适用于设计为明确在 iOS 11 下运行的应用程序选择了新的现状。

话虽如此,Apple 在存储限制方面将所有地方都视为一个,如果您想使用 cloudKit 存储设计/构建应用程序,请注意;如果苹果认为你这样做是鲁莽的,你就不会涉足应用商店。

作为最后的评论,Apple 安全策略的设计是作为一般规则,以确保您作为用户对谁访问他们的数据有非常细粒度的控制,这是/是他们有意保护您免受自己侵害的决定。作为一般规则,它运作良好;这就是为什么您在 iOS 下几乎看不到病毒的原因。

于 2017-12-09T06:35:37.910 回答