蓝牙随机断开连接

时间:2014-05-10 22:12:09

标签: ios objective-c

我正在使用蓝牙LE(4.0)和CoreBluetooth框架创建一个iOS(7.1)应用程序,使该设备充当"外围设备"。我可以使用另一个充当" Central"的iOS设备连接到应用程序,以便探索其服务和特性。

然而,一旦建立连接,连接将在连接到1分钟后从30秒随机掉落,我不明白为什么。

当我检查委托方法时:

-(void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)aPeripheral error:(NSError *)error

错误消息是"指定的设备已与我们断开连接"。

有谁知道为什么会这样?就像我说的,我可以成功连接并发现一切,但连接随机丢失。

谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,这些断开连接都是故意的,并且在连接持续不必要的时间(特征值没有经常更新)时发生。

一个简单的解决方法是每当centralManager:didDisconnectPeripheral:error:被调用并且您收到此错误消息时重新连接。另一个建议是安排一个计时器,即使特征值没有改变,该计时器也会重复向订阅的中心发送更新。