Próbuję pobrać cały rekord z określonym parametrem recordType, którego ID rekordu nie jest zgodne z określonym.Pole "___recordID" nie jest oznaczone jako zapytanie.
Ale pojawia się błąd. Dowolny pomysł? Myślałem, że mogę oznaczyć jako zapytanie tylko ręcznie dodane pola.
<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!)))
To naprawiło problem dla mnie. Dziwnie jednak aplikacja działała dobrze przez co najmniej 6 miesięcy, zanim nagle przestała pobierać informacje z CloudKit w zeszłym tygodniu. Musiałem zaznaczyć to pole, aby ponownie naprawić synchronizację. – honcheng
Wpadłem na ten problem, próbując wysłać zapytanie do konkretnego typu przy użyciu predykatu o formacie "TRUEPREDICATE". Wydaje się trochę dziwne, że musisz włączyć indeks na ID rekordu, aby zwrócić wszystkie rekordy typu ... – KellyTheDude