微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法转移 CloudKit 共享记录的所有权?

如何解决有没有办法转移 CloudKit 共享记录的所有权?

我刚刚花了几个小时评估 CloudKit 的共享功能,用于潜在的多租户应用程序,虽然我认为我知道答案,但我觉得我应该询问社区。​​em>

用例支持多个公司的应用,每个公司都有自己的用户,这些用户只能访问该公司内部的共享数据(记录)。想象一下 Slack 的独立工作区:A 公司的用户应该能够看到 A 公司的所有数据,也许最终 A 公司雇佣了一名新员工(用户),他也应该看到相同的数据。 B 公司拥有完全独立的用户/数据,A 公司的任何人都不会看到。

问题:根据我目前对 CloudKit 的理解,记录与用户相关联,而不是公司/团队/组。如果用户 A(公司 A)与用户 B 共享一条记录,这是完全可行的,用户 B 将看到所有内容包括子记录)。但是现在让我们假设用户 A 离开了公司。另一个用户如何获得这些记录的所有权,以便用户 B 可以继续访问公司的数据?

似乎每家公司都需要拥有自己的 iCloud 帐户才能充当主“所有者”,这对于非技术人员来说理解起来不专业或具有挑战性(并且随后与未来用户共享变得复杂)。

>

我想错了吗?将 CloudKit 视为此应用的后端,我是否已经走错了树?

解决方法

我认为最适合您所描述的设置是在 CloudKit 容器中使用 Public 数据库。可以根据需要共享和“拥有”CKRecord。所有可以访问数据库的人都可以使用该记录。

通过 CKRecord 功能共享 CKShare 的限制要大得多。以这种方式共享时,您只是向某人的 Private 数据库提供共享视图。如果该用户消失,则共享记录随之消失,共享停止。只有 Public 数据库可以保留与用户状态无关的记录。

一个警告是,Public 数据库必须由一个 Apple Developer 帐户拥有。您不能在业务级别跨公司共享所有权。但对于您的应用而言,您的开发者帐户可以拥有数据库,并且您可以根据需要与任意数量的租户共享数据。

如果您有任何后续问题,请告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。