CKModifyRecordsOperation modifyRecordsCompletionBlock no se llama

Estoy usando CKModifyRecordsOperation para save un set de loggings y, si tengo connection a Internet, todo funciona bien y se está llamando a un bloque de finalización. Pero cuando no tengo connection no se llama al bloque de finalización y no recibo ninguna información de que mis operaciones fallaron.

Estoy usando el siguiente código en bloque de finalización.

 modifyOperations.modifyRecordsCompletionBlock = ^(NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error) { if(error){ NSLog(@"Error: %@", error.localizedDescription); } item.creatorRecordId = record.recordID; }; 

y luego estoy realizando operaciones usando

 [self.publicDB addOperation:modifyOperations]; 

¿Alguna idea de cómo puedo get una información si la operación falló, por ejemplo, en el caso de que no haya connection a Internet?

Las operaciones de CloudKit tienen su propiedad qualityOfService establecida en NSQualityOfServiceUtility de forma pnetworkingeterminada.

Las operaciones que usan NSQualityOfServiceUtility o NSQualityOfServiceBackground pueden marcarse como utilizando requestes de networking discrecionales . El sistema puede contener requestes de networking discrecionales si la conectividad de la networking es deficiente, por lo que es posible que no obtenga una respuesta del server hasta que las condiciones mejoren y el sistema envíe la request.

Si desea que su request se envíe inmediatamente en todos los casos, establezca CKOperation.qualityOfService en NSQualityOfServiceUserInitiated o NSQualityOfServiceUserInteractive .

    Intereting Posts