Reputation: 35038
I try to download all record with a specific recordType that recordID is not matches with a certain one.
But I get an error. Any idea? I thought I can mark as queryable only manually added fields.
<CKError 0x15df2a10: "Invalid Arguments" (12/2015); server message = "Field '___recordID' is not marked queryable"; uuid = ECDD0C97-550F-4DD5-942D-AF4DF8917EEB; container ID = "iCloud.com.kukodajanos.Movie-Buffs">
let query = CKQuery(recordType: "UserSetting", predicate: NSPredicate(format: "recordID != %@", CKRecordID(recordName: loggedInUserRecordName!)))
Upvotes: 11
Views: 4659
Reputation: 1035
You only need to manually set the Query index on ID if you choose NOT to use a predicate with your query. If you use a predicate on any self defined field name such as:
e.g.
let predicate = NSPredicate(format: "UserRecordID = %@", selectedUser!.userRecordID!.recordName)
let query = CKQuery(recordType: recordType, predicate: predicate)
you will not experience this issue.
Upvotes: 1