我使用CKModifyRecordsOperation保存一组记录,如果我有互联网连接,所有工作正常,并且正在调用完成块。但是,当我没有连接时,就不会调用完成块,也不会得到操作失败的任何信息。
我在完成块中使用以下代码
modifyOperations.modifyRecordsCompletionBlock = ^(NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error)
{
if(error){
NSLog(@"Error: %@", error.localizedDescription);
}
item.creatorRecordId = record.recordID;
};然后我用
[self.publicDB addOperation:modifyOperations];如果操作失败,我怎样才能得到信息,例如,在没有互联网连接的情况下?
发布于 2015-12-14 22:31:26
默认情况下,CloudKit操作的qualityOfService属性设置为NSQualityOfServiceUtility。
使用NSQualityOfServiceUtility或NSQualityOfServiceBackground的操作可以标记为使用任意网络请求。如果网络连接不良,系统可以保存任意的网络请求,因此在条件改善和系统发送请求之前,您可能无法从服务器获得响应。
如果希望在所有情况下立即发送请求,请将CKOperation.qualityOfService设置为NSQualityOfServiceUserInitiated或NSQualityOfServiceUserInteractive。
https://stackoverflow.com/questions/34239774
复制相似问题