¿Es posible acceder mediante programación a los códigos de error registrados por CoreBluetooth?

Estoy implementando un dispositivo central BLE en el iPhone, utilizando como periférico un dispositivo BLE personalizado desarrollado (cuyo firmware ha sido escrito por un colega).

El periférico para algunas operaciones devolverá un código de error BLE, que se ajusta a los códigos de error estándar de Bluetooth ATT como se define en las especificaciones BLE.

En el lado del iPhone, donde estoy usando la pila CoreBluetooth para desarrollar el dispositivo central, se me notifican estos errores en la ventana de salida del depurador de xCode como:

CoreBluetooth [ADVERTENCIA] Error desconocido: XX

y luego recibo en las devoluciones de llamada un objeto CBError *. Mi problema es que el objeto CBError * que recibo en la devolución de llamada (por ejemplo, en la devolución de llamada didWriteValueForCharacteristic de CBPeripheralDelegate) solo contiene código = 0 y localizedDescription = "Error desconocido".

¿Es posible recuperar de alguna manera el código de error que la pila CoreBluetooth registra en la ventana de salida del depurador?

Según mi investigación, parece que CoreBluetooth asigna casi todos los códigos de error estándar de BLE a "errores desconocidos" (con el código interno 0, consulteReferencia CBError); Me gustaría obtener códigos de error más detallados, como los codificados porCBAttError.

Respuestas a la pregunta(1)

Su respuesta a la pregunta