Iphone 是否可以通过编程方式访问CoreBluetooth记录的错误代码?
我正在iPhone上实现一个BLE中央设备,使用一个定制的BLE设备作为外围设备(其固件由同事编写) 某些操作的外围设备将返回一个BLE错误代码,符合BLE规范中定义的标准蓝牙ATT错误代码 在iPhone端,我正在使用CoreBluetooth堆栈开发中央设备,我在xCode的调试器输出窗口中收到以下错误通知: CoreBluetooth[警告]未知错误:XX 然后我在回调中收到一个CBError*对象。我的问题是,我在回调中得到的CBError*对象(例如,在cbperipheraldegate的didWriteValueForCharacteristic回调中)只包含code=0和localizedDescription=“未知错误” 是否可以通过某种方式检索由CoreBlutooth堆栈记录在调试器输出窗口中的错误代码?Iphone 是否可以通过编程方式访问CoreBluetooth记录的错误代码?,iphone,ios,core-bluetooth,Iphone,Ios,Core Bluetooth,我正在iPhone上实现一个BLE中央设备,使用一个定制的BLE设备作为外围设备(其固件由同事编写) 某些操作的外围设备将返回一个BLE错误代码,符合BLE规范中定义的标准蓝牙ATT错误代码 在iPhone端,我正在使用CoreBluetooth堆栈开发中央设备,我在xCode的调试器输出窗口中收到以下错误通知: CoreBluetooth[警告]未知错误:XX 然后我在回调中收到一个CBError*对象。我的问题是,我在回调中得到的CBError*对象(例如,在cbperipheraldega
根据我的研究,CoreBluetooth似乎将几乎所有的BLE标准错误代码映射为“未知错误”(内部代码为0,请参阅);我想获得更详细的错误代码,如由编码的错误代码。在应用程序中,您只能使用CoreBluetooth API。这些只暴露CBError,正如您在许多情况下所看到的那样,它可以掩盖真正的错误。因此,正式访问源代码错误的答案是,您不能这样做
但是,如果需要,可以通过编程方式访问Apple系统日志。(请参阅帖子:)您可以定义一个查询来返回您感兴趣的项目,并尝试扣除错误的真正原因。这是一种启发式方法,但不幸的是,目前我们没有其他方法可以做到这一点。您对这个问题有进一步的了解吗?