Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Field '___recordID' is not marked queryable

Tags:

ios

cloudkit

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!)))

like image 916
János Avatar asked Mar 19 '15 10:03

János


2 Answers

I found. possible to add metaindexes as well.

enter image description here

like image 119
János Avatar answered Oct 14 '22 13:10

János


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:

enter image description here

e.g.

let predicate = NSPredicate(format: "UserRecordID = %@", selectedUser!.userRecordID!.recordName)
let query = CKQuery(recordType: recordType, predicate: predicate)

you will not experience this issue.

like image 1
Wizkid Avatar answered Oct 14 '22 12:10

Wizkid