CloudKit - CKFetchRecordsOperation没有回复

时间:2015-08-02 01:26:00

标签: swift cloudkit

使用*时,我没有收到回复。

这是在Xcode版本7.0 beta 4(7A165t)。

CKFetchRecordsOperation

我已经尝试了两种方法将操作添加到队列中:

import Cocoa
import CloudKit

// A record exists in the public container with this ID.
let recordIDs = [CKRecordID(recordName: "E175411C-58C9-4CF6-89AE-23E53289EE46")];

let fetchRecords = CKFetchRecordsOperation(recordIDs: recordIDs);

fetchRecords.fetchRecordsCompletionBlock = { (records:[CKRecordID: CKRecord]?, error:NSError?) -> Void in
    // Code never reached
    debugPrint("fetchRecordsCompletionBlock")
}

fetchRecords.perRecordCompletionBlock = { (record, recordID, error) -> Void in
    // Code never reached.
    debugPrint("perRecordCompletionBlock")
}
fetchRecords.perRecordProgressBlock = { (recordID, progress) -> Void in
    // Code never reached.
    debugPrint("perRecordProgressBlock")
}

fetchRecords.completionBlock = {
    // Code never reached.
    debugPrint("completionBlock")
}

let database = CKContainer.defaultContainer().publicCloudDatabase

fetchRecords.database = database
fetchRecords.start()

let database = CKContainer.defaultContainer().publicCloudDatabase
fetchRecords.database = database
fetchRecords.start()

我在控制台中没有活动,并且永远不会到达处理程序。

如果我像这样查询记录,我成功地得到了结果。

let database = CKContainer.defaultContainer().publicCloudDatabase
database.addOperation(fetchRecords)

但是,我有一个database.fetchRecordWithID(recordID) { (record:CKRecord?, error:NSError?) -> Void in debugPrint("Result"); // The record here exists, and is as expected. } 数组 - 因此我需要CKRecordID才能工作。

1 个答案:

答案 0 :(得分:0)

这似乎是Xcode 7 beta 4中的一个错误。

在Xcode版本7.0 beta 5(7A176x)中,它按预期工作。