使用CKLocationSortDescriptor
传递我的CloudKit查询并没有任何效果。它显示在表格视图上,并且应按照最接近用户且距离递增的顺序排列。
...
let location = locationManager.location
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: "Establishment", predicate: predicate)
let sort = CKLocationSortDescriptor(key: "Location", relativeLocation: location!)
query.sortDescriptors = [CKLocationSortDescriptor(key: "Location", relativeLocation: location!)]
...
编辑1
我弄清楚了这一点后,在2公里之内将不会进行任何排序,而更近的距离将还原为最后一次编辑。有什么想法可以使精度更高,因为我希望能够做到精度达到一米?
最佳答案
我使用了TSI,并与Apple联系。事实证明CKLocationSortDescriptor仅精确到10公里,这显然不是错误,实际上是他们忘记将其添加到文档中了。 Cloudkit团队正在努力改善这一点,但无法给出时间表。如果您想订购10公里以内的东西,您目前不能这样做。