gpt4 book ai didi

ios - Cloudkit 安全角色

转载 作者:行者123 更新时间:2023-11-29 12:03:40 25 4
gpt4 key购买 nike

我能看到 CloudKit 中 Security Rolls 的唯一用途是授予另一个团队成员访问 cloudkit 仪表板的权限,以便修改仪表板中的表格?这是正确的,还是我遗漏了什么?

目前我是唯一可以登录仪表板的人,我无法添加其他团队成员。我认为这是因为我在 Apple 注册为单一开发人员?我希望使用它在公共(public)数据库上设置某种类型的安全性,但似乎我无法通过安全角色来做到这一点。

我正在尝试为公共(public)数据库设置三种不同类型的用户:

我将在同一个容器中运行 3 个应用。

1.) 管理员 - 单独的应用

2.) 消费者 - 独立应用

3.) 承包商 - 单独的应用程序

我找到了这个主题:

How do I access security role in cloudkit

看来我必须在每个应用程序中添加安全性以仅访问该类型用户允许的数据?

最佳答案

我设置了多个应用程序共享同一个容器,您不仅需要在 Xcode 本身中进行配置,还需要在您编写的代码中进行配置。

let container = CKContainer(identifier: "iCloud.yourDB")
let publicDB = container.publicCloudDatabase

访问权限是基于 iCloud 用户而不是应用程序授予的。因此,如果您要让所有三个应用程序在使用相同 iCloud ID 的设备上运行,那么它们都可以使用默认权限访问相同的公共(public)和私有(private)数据库。

您需要“编码”在管理应用程序中“创建”和“写入”数据库的能力。大概是在承包商应用程序中“写入”数据库并在您的消费者应用程序中“读出”数据库;一个示例场景。

但是,如果计划是让多个 iCloud 用户使用共享同一容器的不同应用程序,那么您的选择就会更加有限。私有(private)数据库就是私有(private)的。所以不同的iCloud用户不能共享同一个私有(private)数据库,你不能更改权限期限,他们只能共享公共(public)数据库。

在公共(public)数据库中,默认权限将授予所有人读取权限,仅允许经过身份验证的 [登录到 iCloud 帐户] 用户能够创建新记录并将所述已创建记录与创建它们的用户相关联。

换句话说,如果经过身份验证的用户 [A] 在公共(public)数据库中创建了一条记录,用户 [B] 可以读取它,但没有写入权限来更新它;如果您有要求,您会/可能会更改访问权限以授予他们这样做的权利,您会在仪表板上进行更改。

但请注意,据我所知,公共(public)数据库上的配额与 iCloud 帐户无关,它们与应用程序相关联。因此,如果您创建一个将大量数据转储到公共(public)数据库中的应用程序;当/如果您的应用程序用户超过每个应用程序每个用户允许的公共(public)数据库配额时,Apple 会向您发送账单。 [是的,所以您的应用的用户越多,您获得的公共(public)数据库配额就越多,但您应该/需要限制个人用户可以申请的数量,以限制您对 iCloud 费用的责任!]

我可能误解了 Apple 在最后一段中对其工作原理/将向用户/应用程序收费的描述,希望通过各种方式进行澄清。

关于ios - Cloudkit 安全角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35829653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com