我应该如何将多个BLE外围设备连接到iOS设备?

时间:2014-01-13 05:02:29

标签: ios bluetooth-lowenergy core-bluetooth

目前我的团队正在致电

[myCentralManager scanForPeripheralsWithServices:nil options:nil];

然后开始在两秒内触发的NSTimer。在这两秒钟内,中央管理器委托方法

centralManager:didDiscoverPeripheral:advertisementData:RSSI:

用于创建我们感兴趣的CBPeripherals数组。

当计时器触发时,我们在for循环中对数组中的每个项目调用connectPeripheral

我担心这不是一次连接多个设备的最佳方式。我们是否应该在另一台设备上调用connectPeripheral之前等待一个设备的连接过程完成?

感谢您的任何建议。

1 个答案:

答案 0 :(得分:8)

您遇到过问题吗?如果没有,那就按照你的方式去做。

一些额外的想法:

  • 通常,建议在开始连接请求之前停止扫描。通过这种方式建立连接的速度会明显加快。
  • 一次启动多个连接对API方面没有任何影响,但是,从稳健性的角度来看,顺序执行它可能更安全。这样可以防止核心蓝牙堆栈过载。
  • 我宁愿使用GCD dispatch_after功能代替NSTimer,但这是我个人的偏好。 (使用ReactiveCocoa会更好。)