gpt4 book ai didi

iphone - 是否可以以编程方式访问 CoreBluetooth 记录的错误代码?

转载 作者:可可西里 更新时间:2023-11-01 04:41:58 24 4
gpt4 key购买 nike

我正在 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 reference);我想获得更详细的错误代码,例如 CBAttError 编码的错误代码.

最佳答案

在应用程序中,您只能使用 CoreBluetooth API。那些只公开 CBError,正如您在许多情况下看到的那样,它可以掩盖真正的错误。所以官方访问源错误的答案是你做不到。

但是,如果需要,您可以通过编程方式访问 Apple 系统日志。 (见帖子:Using Objective C to read log messages posted to the device console)您可以定义一个查询来返回您感兴趣的项目,并尝试推断错误的真正原因。这是一种启发式方法,但不幸的是,目前我们没有其他方法可以做到这一点。

关于iphone - 是否可以以编程方式访问 CoreBluetooth 记录的错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com