Cloudkit: CKDatabaseOperation 不适用于手机
Cloudkit: CKDatabaseOperation not working on cellular
大家好 CloudKit
用户:
我花了很长时间试图找出为什么 CKDatabaseOperation
不提供任何反馈。在手机 CKRecords
上保存时没有错误,没有回调。
请问您对此有何看法?
苹果开发者论坛有人找到了解决办法:
https://forums.developer.apple.com/thread/20047
魔法发生在设置 qualityOfService = .UserInitiated
时
示例:
let publicDB = CKContainer.defaultContainer().publicCloudDatabase
let operation = CKModifyRecordsOperation(recordsToSave: [aRecord], recordIDsToDelete: nil)
operation.allowsCellularAccess = true
operation.qualityOfService = .UserInitiated // <----- THATS THE CELLULAR FIX
operation.perRecordProgressBlock = {(record, progress) in
print("Progress: \(Int(progress*100.0))%")
}
operation.perRecordCompletionBlock = {(record, error) in
print("Upload complete") //Add awesome error handling here
}
publicDB.addOperation(operation)
大家好 CloudKit
用户:
我花了很长时间试图找出为什么 CKDatabaseOperation
不提供任何反馈。在手机 CKRecords
上保存时没有错误,没有回调。
请问您对此有何看法?
苹果开发者论坛有人找到了解决办法: https://forums.developer.apple.com/thread/20047
魔法发生在设置 qualityOfService = .UserInitiated
示例:
let publicDB = CKContainer.defaultContainer().publicCloudDatabase
let operation = CKModifyRecordsOperation(recordsToSave: [aRecord], recordIDsToDelete: nil)
operation.allowsCellularAccess = true
operation.qualityOfService = .UserInitiated // <----- THATS THE CELLULAR FIX
operation.perRecordProgressBlock = {(record, progress) in
print("Progress: \(Int(progress*100.0))%")
}
operation.perRecordCompletionBlock = {(record, error) in
print("Upload complete") //Add awesome error handling here
}
publicDB.addOperation(operation)