我正在 iPhone 上实现 BLE 中央设备,使用开发的自定义 BLE 设备(其固件由同事编写)作为外围设备。
某些操作的外设将返回 BLE 错误代码,符合 BLE 规范中定义的标准蓝牙 ATT 错误代码。
在 iPhone 端,我使用 CoreBluetooth 堆栈来开发中央设备,我在 xCode 的调试器输出窗口中收到以下错误通知:
CoreBluetooth [警告] 未知错误:XX
然后我在回调中收到一个 CBError* 对象。我的问题是我在回调中得到的 CBError* 对象(例如,在 CBPeripheralDelegate 的 didWriteValueForCharacteristic 回调中)只包含 code=0 和localizedDescription="Unknown error"。
是否可以通过 CoreBluetooth 堆栈以某种方式检索在调试器输出窗口中记录的错误代码?
根据我的研究,CoreBluetooth 似乎将几乎所有 BLE 标准错误代码都映射为“未知错误”(内部代码为 0,请参阅CBError 参考);我想获得更详细的错误代码,例如CBAttError编码的错误代码。