Запрос общих записей в ckzone в частной базе данных ничего не возвращает - PullRequest
0 голосов
/ 02 октября 2018

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)

messagesMedia - это глобальная статическая переменная, которую я также использую для сохранения указанных записей, поэтому она не может быть неправильной / другой.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Я думаю, что нашел ответ.Я использовал устаревший метод для сохранения своей записи.

let customRecord = CKRecord(recordType: remoteRecords.notificationMedia, zoneID: zone2D.zoneID)

Я изменил это на это ..

let customID = CKRecord.ID(recordName: remoteRecords.notificationMedia, zoneID: zone2D.zoneID)
let customRecord = CKRecord(recordType: remoteRecords.notificationMedia, recordID: customID)

Теперь я нахожу свои записи в sharedDatabase в базе данных cloudKit и когдаЯ использую метод, показанный выше зоны, установленной как указано rmaddy Я нахожу свои записи.

0 голосов
/ 02 октября 2018

Установите zoneID из operation, потому что сейчас вы запрашиваете зону по умолчанию.

let operation = CKQueryOperation(query: query)
operation.zoneID = zone2D.zoneID
...