2016-05-17 79 views
0

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

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

有什么办法可以优雅地处理需要注意多个配对请求的情况?这将是有益的,如果它们中的至少一个是可能的:

  • 出色地完成了对请求的能力依次
  • 其他设备未能配对的
  • 通知
  • 知识的配对请求对话框是否会之前触发初始化配对,所以我可以配对一次一个

回答

0

有在CoreBluetooth没有的API,可以让你与配对互动。 你是否控制了你想要配对的外设的固件?如果是这样,您可以启用通知并发送事件配对过程的进展情况。这样你就可以在应用程序中知道配对过程的当前状态。

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