我使用 CoreBluetooth 框架让我的 Mac 充当 BLE Central,以扫描、连接到附近的 IoT BLE 外设并与之交换数据。
我还没有找到用于枚举适配器的 API(例如带有自己的天线的外部 USB BLE 外设)。在我的程序开始扫描并连接到 BLE 外设之前,有没有办法以编程方式枚举并选择 BLE 适配器?
如果有帮助的话,我可以将解决方案空间限制为 macOS Sonoma 以及该操作系统上的最新 SDK 版本。不需要向后兼容性支持。
不幸的是,没有用于通过 iOS/MacOS 应用程序选择蓝牙适配器的 API,至少不能通过 CoreBluetooth。您可以检查 IOBluetooth 框架中的 IOBluetoothHostController API,因为它可能会帮助您实现您想要的目标,但我找不到任何有关如何使用它来选择蓝牙适配器的示例或教程。您最好的选择可能是通过操作系统选择蓝牙适配器。 CoreBluetooth 设计为与操作系统选择的适配器配合使用,因此这应该可以工作。请查看以下链接以通过操作系统选择适配器:-