问题标签 [ckquery]

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

ios - CloudKit 查询的奇怪错误

对于 CloudKit 查询,我收到一个非常通用的错误。我不知道如何解决它。有没有人有什么建议?

错误是<CKError 0x17065c230: "Internal Error" (1/2005)> Error occurred. Error = <CKError 0x174648370: "Internal Error" (1/2005)>

我的代码是:

0 投票
1 回答
127 浏览

ios8 - 如何在私有数据库 CloudKit 中获取 RecordType 的所有名称

我想知道如何在 Cloud Kit 的私有数据库中获取一个包含所有记录类型名称的数组,以读取我的所有数据?

我保存我的数据:

我读了我的数据:

我想用其他属性保存另一条记录,例如:

保存后如何使用 Favoris1 和 Favoris2 读取我的所有记录?

0 投票
2 回答
279 浏览

swift - performQuery,不能将 inZoneWithID 设置为 nil

嗨,我正在尝试制作一个小功能,该功能应该通过输入用户的姓名将与用户对应的记录发回给我。我创建了一个快速文件:

我不明白的是,由于 performQuery 的 inZoneWithID 值为 nil,我无法编译此代码。此语法可能不正确,尽管它适用于我的代码的其他部分。这是我得到的错误:

0 投票
0 回答
1071 浏览

objective-c - CloudKit 关系 CKReference 设置和查询。

我允许用户保存位置。它保存在 cloudKit 中,我可以成功获取所有位置。对于保存的每个位置,都有一个创建它的记录“创建者:IDXXX”。如何提取创建它的单个用户保存的所有位置?

在 CloudKit 中,我有 2 种记录类型,位置和用户。当一个位置被保存时,它被保存为一个位置,我使用 CKReference 将用户记录 ID 的引用添加到位置中的一个字段,该字段我标记为属性名称的“owningList”,属性类型为“Reference”。当保存新位置并获取新保存位置的 CKRecord 时,将调用下面的此方法。

然后我尝试使用指定 CKReference 的谓词来获取所有位置,CKReference 是用户的记录 ID 和字段名称“owningList”,这不会返回任何结果。我尝试了其他方法但没有成功。我对此很陌生,任何帮助或澄清将不胜感激。

0 投票
5 回答
5577 浏览

ios - 来自私有区域的 CKQuery 仅返回 CloudKit 中的前 100 个 CKRecords

对Cloudkit私有默认区域的查询结果是否有任何限制?我不知道为什么我只收到带有以下查询的前 100 条记录:


好的。正如 Edwin 在回答中提到的那样,解决方案是使用 CKQueryOperation 来获取初始数据块,然后使用 completionBlock 中的“光标”来触发另一个操作。这是一个例子:

更新

0 投票
2 回答
1546 浏览

ios - CKQueryOperation 错误:此操作已受到速率限制

error 1298: This operation has been rate limited在 Apple 审核期间,客户端从 CloudKit 下载记录时收到错误CKQueryOperation,仅一次。我该如何解决这个问题?

这是代码,没什么特别的:

我尝试将整个代码放入一个循环中,例如:

你认为它会起作用吗?

0 投票
1 回答
104 浏览

swift - 切换视图控制器后如何保持加载来自 iCloud(CloudKit)的数据

我正在使用 CloudKit 制作应用程序,但我最近遇到了一个问题。在我的应用程序中,一旦主视图控制器加载,它就会关闭并从 iCloud 获取数据。问题是当我转到另一个视图控制器然后回到主视图控制器时,它会再次开始获取。我希望能够使用已经获取的数据,有什么办法可以做到这一点吗?也许我暂时将它保存到 CoreData 中?

0 投票
1 回答
592 浏览

ios - 过滤 CLLocationCoordinate2d 半径内的 PHAssetCollections

我正在使用 Photos 框架(又名PhotoKit)。在我的应用程序中,我需要收集 Moments(类型为PHAssetCollection)。PHAssetCollection有一个属性CLLocation *approximateLocation

但是NSPredicate,当我从 PhotoKit 检索 Moments 时,我无法正常工作。

调试器将停止

出现错误:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“获取选项中不支持的谓词:近似位置.coordinate.latitude < 37”

这看起来很奇怪,因为我可以用orNSPredicate来过滤。startDateendDate

无论如何,接下来我想我会尝试NSPredicatewith 块:

调试器再次停在

带有不同的错误消息:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“获取选项中不支持的谓词:BLOCKPREDICATE(0x27d338)”

最后,我记得在CloudKit 文档中看到他们添加了对按距离过滤的新支持。然而,这是为了CKQuery,不是NSPredicate。无论如何,我决定试一试。我使用我的坐标进行CLLocationthen 调用:

你猜对了。错误:

同时,我将遍历列表PHAssetCollections并手动计算它是否在CLLocation. 这将大大降低效率。

0 投票
1 回答
100 浏览

ios - 从 NSPredicate 获取意外的表达式错误

我有以下代码:

由于未捕获的异常'CKException'而引发终止应用程序,原因:'意外表达式:计数 == 0 或评论!=“”'

但是当我尝试

它工作正常,与

但我需要能够查询所有记录 == 0 或评论!= ''。我该如何构建这个?

0 投票
4 回答
2051 浏览

objective-c - CKQueryOperation 处理大批量

我在使用大量数据创建 CKQuery 操作时遇到问题。我的查询适用于 100 个结果,但在更多结果查询失败后,因为一个线程被错误调度或什么(libdispatch.dylib`dispatch_group_leave: )我迷路了......有什么想法吗?