目前我的团队正在打电话
[myCentralManager scanForPeripheralsWithServices:nil options:nil];
然后启动一个在两秒内触发的 NSTimer
。在这两秒中,Central Manager 委托(delegate)方法
centralManager:didDiscoverPeripheral:advertisementData:RSSI:
用于创建我们感兴趣的CBPeripherals
数组。
当计时器触发时,我们在 for 循环中对数组中的每个项目调用 connectPeripheral
。
我担心这不是同时连接多个设备的最佳方式。在另一台设备上调用 connectPeripheral
之前,我们是否应该等待一台设备的连接过程完成?
感谢您的任何建议。
最佳答案
您遇到过问题吗?如果没有,那就按照你的方式去做。
一些额外的想法:
- 通常,建议在开始连接请求之前停止扫描。以这种方式建立连接的速度会大大加快。
- 一次启动多个连接对 API 端没有影响,但是,顺序执行可能更安全(从稳健性的角度来看)。这样您就可以防止核心蓝牙堆栈过载。
- 我宁愿使用 GCD 而不是 NSTimer dispatch_after功能,但这是我个人的喜好。 (使用 ReactiveCocoa 会更好。)
关于ios - 我应该如何将多个 BLE 外围设备连接到 iOS 设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084198/