Swift 4.2 iOS 11.x.
我一定错过了一些因为这肯定应该有效 . 我得到了这个代码,用于查询自定义区域中的私有数据库 . 尽管我在那里有记录,但它什么也没有返回 . 我为所有东西添加了索引!我还更改了权限中的角色,以便任何经过身份验证的用户都可以读取记录 .
public func cleanUpImages(zone2U:String) {
var records2Delete:[CKRecord.ID] = []
let zone2D = CKRecordZone(zoneName: zone2U)
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: remoteRecords.notificationMedia, predicate: predicate)
let operation = CKQueryOperation(query: query)
operation.recordFetchedBlock = { record in
records2Delete.append(record.recordID)
}
operation.queryCompletionBlock = { cursor, error in
print(records2Delete.count)
}
CKContainer.default().privateCloudDatabase.add(operation)
notificationMedia是一个全局静态var,我也用它来保存所述记录,所以它不能错误/不同 .
2 回答
我想我找到了答案 . 我正在使用一种弃用的方法来保存我的记录 .
我把它换成了..
现在我在cloudKit数据库的sharedDatabase中找到我的记录,当我使用上面显示的方法时,rmaddy指出的区域设置我找到了我的记录 .
设置
operation
的zoneID
因为您现在正在查询默认区域 .