一次处理多个蓝牙配对请求对话框

时间:2016-05-17 21:18:38

标签: ios bluetooth core-bluetooth uialertcontroller

我有一个与BLE设备集成的应用。我可以连接到任意数量的设备。当通过[CBCentralManager connectPeripheral:options:]启动从应用程序到设备的配对时,如果未找到先前的配对信息,则将触发系统蓝牙配对请求警报。这一切都很有效。

但是,我正在实现一次从多个设备中发现,配对和读取特征的功能。如果设备先前已配对,这也很有用。但是,如果这是多个设备的第一个配对,则仅显示一个配对请求警报控制器。更难的是,我也没有收到来自CB的连接错误,等待配对对话框响应的其他设备。

有什么方法可以优雅地处理需要注意多个配对请求的情况?如果至少有一个是可能的话会很有帮助:

  • 按顺序完成未完成配对请求的能力
  • 其他设备配对失败的通知
  • 了解配对请求对话框是否会在初始化配对之前触发,以便我可以一次配对一个

1 个答案:

答案 0 :(得分:0)

CoreBluetooth中没有可让您与配对进行交互的API。 您是否可以控制您希望配对的外围设备的固件?如果是这样,您可以启用通知并发送事件配对过程的方式。这样您就可以在应用程序中了解配对过程的当前状态。

对于某些示例,通过查看状态和错误代码(详细信息取决于您的外围BLE堆栈),您将能够识别iOS何时显示配对对话框,用户何时按下取消以及配对成功时。还可以确定iOS何时没有提出配对对话框。