问题标签 [ckcontainer]

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 回答
486 浏览

ios - 我可以将 CloudKit 数据转移到新的 Container 中吗?

我正在制作一个 CloudKit 应用程序,我面临着将我的数据存储在只能由该应用程序访问的默认容器或可以共享数据的自定义容器中的选择。现在我只需要那个应用程序来访问数据,所以我可能会将我的数据放在默认容器中。但是,如果最终我想从不同的应用程序访问这些数据,我可以将我的用户数据传输到自定义的、可共享的容器吗?

0 投票
1 回答
160 浏览

ios - 仅为当前设备重置 CKNotificationInfo 标记值

我正在使用三个 iDevice 进行测试。设备 1 触发 CKSubscription 更改通知。

设备 2 和 3 收到通知,徽章编号增加到 1。

每次应用程序进入前台时,我都将徽章编号重置为 0,如下所示。(在 applicationDidBecomeActive 中:)

如果用户在设备 2 上点击我的应用程序,将执行上述代码。它运作良好。徽章编号重置为 0。但问题是设备 3 上的徽章编号也同时变为 0,即使我没有在设备 3 上点击我的应用程序。

我希望设备 3 保持增加的徽章编号,因为用户没有点击它。

API 参考说“这个操作对象可以更新当前设备或所有用户设备的徽章。”

https://developer.apple.com/reference/cloudkit/ckmodifybadgeoperation?language=objc

我相信这意味着有一种方法可以只重置我想要的单个设备。

请任何人指导我如何完成它。

0 投票
0 回答
34 浏览

ckcontainer - return no longLived CKOperation

  1. 我创建了一个 CKOperation,其 longLived 设置为“true”。
  2. 打开我的 iPhone 的飞行模式(iOS 9.3.5)
  3. 杀死应用程序
  4. 重新启动,发现没有 longLived 操作

    /li>
0 投票
1 回答
461 浏览

ios - 我如何查看 CloudKit 容器中 Apple ID 帐户而非开发者帐户的数据?

我正在为使用 CloudKit 的 iOS 应用程序开发 Xcode 项目。当我登录到 Xcode 登录的开发人员帐户时,我能够在 CloudKit Dashboard 中看到 CloudKit 容器中的数据。当我使用安装了 iOS 应用程序的实际设备上使用的不同帐户登录 CloudKit Dashboard 时,我看不到容器。用另一个Apple ID账号,它说这个账号没有注册为开发者账号,需要注册。在我看来,CloudKit Dashboard 应该显示该应用程序的容器,但事实并非如此。为什么是这样?如何在 CloudKit 中检查不是开发者帐户的 Apple ID 的数据?

0 投票
0 回答
30 浏览

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

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

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

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

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

0 投票
0 回答
17 浏览

ios - CloudKit 未按预期运行以存储文档

我的应用程序允许用户创建一个包含数据数组的 PLIST。我希望在任何设备上都可以访问这些文件,因此我在应用程序中启用了 CloudKit,为所有内容设置了功能、配置文件和容器,但仍然遇到问题。

好的,所以在我构建 plist 并想要保存它的视图中,我已经完成了:

这运行没有错误,它在 NSLog 中为我提供的用于记录的字节长度看起来不错。

然后我转到 TableView 我想拉入所有 plist 文件的数组,我有:

什么都没有发生,结果返回为空。有什么建议吗?