问题标签 [cloudkit-environments]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
200 浏览

icloud - Cloudkit JS - 是否可以在不使用 iCloud 仪表板的情况下动态生成 Api 令牌

我需要从 web 访问 iCloud 容器私有数据库数据,所以我使用 cloudkit js,我可以使用containerIdentifier和访问 iCloud 容器私有数据apiTokenAuth.apiToken

apiToken 是使用 iCloud 仪表板生成的

但我的要求是我需要获取由不同用户上传的 iCloud 容器私有数据,这意味着我的 ios 开发人员使用 xcode 创建一个容器,并对使用我的应用程序的每个用户以及当用户上传他们的数据时使用相同的容器名称和它将存储到他们(用户)自己的 icloud 容器私有数据库中。

好的,在这种情况下,我将如何从 Web 访问不同用户的私有数据库,其中 apiToken 在任何地方之前都没有生成?

  • 是否可以使用 xCode 生成 ApiToken?像容器ID!
  • 或任何其他方式来访问 iCloud 数据库?像 cloudkit js!
  • 或者使用 REST API 生成 iCloud api 令牌的任何其他方式?使用苹果用户凭据

我不是IOS开发人员,所以如果我理解有任何错误,对不起!

0 投票
1 回答
194 浏览

ios - CloudKit 仪表板访问免费开发人员帐户已添加到现有的个人 Apple 开发人员计划团队

我创建了一个新的 Gmail 地址,仅用于 CloudKit 测试,并邀请该地址加入我在App Store Connect上的团队。我在用户页面的“开发者”部分看到了新帐户。

在此处输入图像描述

但是当我尝试在 CloudKit 仪表板上的容器权限上添加这个新用户时,我只看到我(我的主要所有者帐户),而不是我刚刚创建的开发人员电子邮件地址。

在此处输入图像描述

添加到个人 Apple 开发人员计划团队的免费开发人员帐户可以访问 CloudKit 仪表板吗?我真的需要这个来测试我的应用程序并查看私有数据库中的记录(在模拟器上记录新用户并且测试同步的设备正在工作等)。

0 投票
0 回答
30 浏览

cloudkit - 上传数据时如何改善 CloudKit 服务器延迟

在一系列“修改记录”操作中,我很难将数据上传到我的 CloudKit 容器。我的应用程序中有一个“上传器”功能,可以使用大量用户数据填充 CloudKit 私有数据库。CKModifyRecordsOperations在上传之前,我将记录分批成多个,每次操作最多 300 条记录。当我用一点数据(甚至不到 50MB)执行此操作时,可能需要数十分钟才能完成简单的上传。这包括一个强大的重试逻辑,该逻辑CKErrorRetryAfterKey从任何超时操作中获取密钥并在延迟后重放它们(之后经常发生)。

我检查了 CloudKit 仪表板,对于容器的遥测部分,“服务器延迟”似乎非常高(95% 的百分位数超过 100,000)。它还表明过去几天的“平均请求大小”平均为 150KB,因为我一直在对此进行测试,这看起来并不多,但服务器响应时间平均每个操作为 10 秒!这似乎超级慢。

我尝试过限制请求,因此一次只发送 20 个修改操作,但这似乎没有帮助。我对每个记录类型的“记录名称”字段都有“查询”索引,在记录类型上的一些自定义字段(尽管不是全部)上有“查询、可搜索、可排序”。CKModifyRecordsOperations 配置将“qualityOfService”设置为“userInitiated”。但这似乎无济于事。我不确定我还能尝试什么来改善“上传”时间(下载记录似乎按预期发生)。

还有什么我可以尝试改善上传几千条记录所需的时间吗?还是我无法控制?