Swift CloudKit无法使用Cellular(超出时间)

时间:2017-05-09 15:04:03

标签: swift cloudkit

我正在使用以下代码从iCloud获取数据:

func fetchShoppingList() {

    let container = CKContainer.default()
    let publicDB = container.publicCloudDatabase
    let predicate = NSPredicate(value: true)

    let query = CKQuery(recordType: "ShoppingList", predicate: predicate)

    let operation = CKQueryOperation(query: query)
    operation.allowsCellularAccess = true
    operation.qualityOfService = .userInitiated

    publicDB.add(operation)

    publicDB.perform(query, inZoneWith: nil) { [unowned self] results, error in

        if error != nil {

            print(error)
        }
        else {

            for var value in results! {

                let shoppingListEntry = ShoppingListEntry()

                shoppingListEntry.index = value.value(forKey: "index") as! Int
                shoppingListEntry.product = value.value(forKey: "product") as! String
                shoppingListEntry.amount = value.value(forKey: "amount") as! Int
                shoppingListEntry.priority = value.value(forKey: "priority") as! Int

                if value.value(forKey: "isSelected") as! String == "true" {

                    shoppingListEntry.isSelected = true
                }
                else {

                    shoppingListEntry.isSelected = false
                }

                self.shoppingListEntrys.append(shoppingListEntry)
            }

            OperationQueue.main.addOperation({ () -> Void in
                self.tableViewShoppingList.reloadData()
            })
        }
    }
}

如果我的手机通过Wifi连接,一切正常,但如果我使用手机,我会收到以下错误:CKError 0x170244e30:“网络故障”(4 / -1001); “ZeitüberschreitungbeiDerforderung。”所以时间似乎超出了问题。我找了一个解决方案并发现了一个帖子,说我必须添加操作行但没有任何改变。 请有人帮帮我吗?

0 个答案:

没有答案