ios - 无法查询用户 CKRecords

标签 ios iphone cloudkit

公共(public)数据库上查询:

let pred = NSPredicate(format: "family == %@", ref)
let query = CKQuery(recordType: "Users", predicate: pred)

我没有得到任何结果,即使我在两个 Users 记录上有这个引用关联。

即使我尝试:

let pred = NSPredicate(format: "TRUEPREDICATE")
let query = CKQuery(recordType: "Users", predicate: pred)

应该 返回所有 Users 记录,但我什么也没得到。虽然我知道 Apple 可能不想要后者,但我是否也无法查询特定用户?

我已经搜索了文档,但目前有点欠缺,找不到任何关于此的条件。 Users 是一种特殊的记录类型,所以答案可能只是“不,您不能查询 Users”。

谢谢。

最佳答案

用户记录明确不可查询。您必须使用 CKDiscoverUserInfosOperationCKDiscoverAllContactsOperation-[CKContainer discoverUserInfo...]-[CKContainer discoverAllContactUserInfosWithCompletionHandler] 来查找用户记录。

如果您需要查询用户的属性,您需要创建一个新的记录类型并将属性存储在其中。您可以在自定义记录上使用 creatorUserRecordID 将该值与用户相关联。

关于ios - 无法查询用户 CKRecords,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323396/

相关文章:

ios - 无法推送 ViewController iOS

iOS 7 将 UITableViewCell 字体颜色更改为蓝色,就像在“设置”应用程序中一样

iphone - 无法在 iPhone 中实现单选按钮

ios - iOS中Cell变成TableView的Black

ios - CoreData 到 CloudKit 迁移

ios - 播放直播新闻 - swift 3

ios - 如何区分委托(delegate)方法中的 UITextFields?

iphone - 日期字符串格式为 NSDate

ios - 将 CKServerChangeToken 保存到核心数据

ios - 在 Cloudkit 中使用子查询