相关疑难解决方法(0)

设备离线时CKQueryOperation不返回错误

我正在尝试使用CKQueryOperation,而不是performQuery在我的CloudKit数据库上.

两者都有效,但是当使用CKQueryOperation时,我在设备离线时没有收到错误,但是在使用时我没有收到错误 performQuery

这是我的performQuery例子,数据库是我的CKDatabase

database.performQuery(q, inZoneWithID: nil) { (records:[CKRecord]?, error:NSError?) in
    if error != nil {
        print(error!.localizedDescription)
        return
    }
}
Run Code Online (Sandbox Code Playgroud)

设备离线时会出现错误,允许我提示用户.错误是

The internet connection appears to be offline

但是,当我使用a时,我没有错误 CKQueryOperation

let p = NSPredicate(format:"recordID IN %@", student.courses)
let q = CKQuery(recordType: String(Course), predicate: p)

let queryOperation = CKQueryOperation(query: q)

queryOperation.recordFetchedBlock = { record in
    // not called without network connection - doesn't enter scope
    print(record)
}


queryOperation.queryCompletionBlock = { (cursor: CKQueryCursor?, error: NSError?) …
Run Code Online (Sandbox Code Playgroud)

ios cloudkit

14
推荐指数
1
解决办法
388
查看次数

iOS 9 CloudKit:查询在连接到蜂窝网络时不返回任何内容

我正在开发一个带有xcode 7 beta 5的应用程序.当我在iphone 6上运行我的应用程序时,如果我的iphone在wifi模式下工作,我尝试将其连接到CloudKit,所有这些都可以,我显示所有数据; 但如果我的iphone在LTE模式下工作,我看不到任何类型的数据.有谁知道如何做到这一点?

    func getRecordsFromCloud() {  

    lavori = []  

    /  

    let _cloudContainer = CKContainer.defaultContainer()  
    let publicDatabase = CKContainer.defaultContainer().publicCloudDatabase  

    /  

    let predicate = NSPredicate(value: true)  
    let query = CKQuery(recordType: "Lavori", predicate: predicate)  

    /  

    let queryOperation = CKQueryOperation(query: query)  

    queryOperation.desiredKeys = ["image","name"]  
    queryOperation.queuePriority = .VeryHigh  
    queryOperation.resultsLimit = 50  

    queryOperation.recordFetchedBlock = { (record:CKRecord) -> Void in  

        let lavoriRecord = record  

        self.lavori.append(lavoriRecord)  



    }  

    queryOperation.queryCompletionBlock = { (cursor:CKQueryCursor?, error:NSError?) -> Void in  

        if (error != nil) {  

            print("Failed to get data from …
Run Code Online (Sandbox Code Playgroud)

iphone ios icloud swift cloudkit

12
推荐指数
1
解决办法
1005
查看次数

标签 统计

cloudkit ×2

ios ×2

icloud ×1

iphone ×1

swift ×1