运行 CloudKit 已禁用 iCloud 驱动器的应用

Running CloudKit app with iCloud drive disabled

我有两个应用程序访问 iCloud。第一个是基于文档的应用程序,通过 UIDocument/NSDocument class 不使用 CloudKit 使用 iCloud 文件夹。相反,第二个应用程序使用 CloudKit 通过 cloudkit 数据库而不是 iCloud 文件夹访问数据。

当我禁用 iCloud 驱动器时,第一个应用程序从列表中消失,但第二个应用程序保留下来,表明对 iCloud 的访问仍然可用。

但是,当 iCloud 驱动器被禁用时,CKContainer.accountStatus returns 'noAccount',即使我已登录。当我忽略它和 运行 查询时,它returns 没有记录。

iCloud drive 占用了相当大的设备存储空间,因此一些用户可能会选择禁用它。出于这个原因,我更喜欢访问 iCloud 避免 iCloud 驱动器。有办法吗?

顺便说一句,iCloud documentation 强烈区分 CloudKit 和 iCloud Drive,这可以解释为另一个证据表明 iCloud 驱动器的存在对于 iCloud 数据库访问不是必需的。

您的发现是正确的。 需要 访问 iCloud Drive 才能让应用程序使用 CloudKit。没有办法解决它(据我所知)。

我过去曾与一位 Apple 工程师谈过这个问题,他们确认 iCloud Drive 是必需的。