拉动电池后重新连接到BLE设备

时间:2014-12-23 20:06:14

标签: ios bluetooth-lowenergy core-bluetooth ios-bluetooth

我有一个BLE设备,我正在编写一个应用程序配对。我可以毫无问题地发现并连接到设备。但是如果我连接并拉动并重新插入BLE设备上的电池,我会得到didDisconnectPeripheral回调,但即使我仍在扫描,我也从未得到另一个didConnectPeripheral。我也试过调用retrieveConnectedPeripheralsWithServicesretrievePeripheralsWithIdentifiers,但这些都没有返回任何内容。

如何在BLE设备上重启电源后可靠地重新连接?

1 个答案:

答案 0 :(得分:1)

一旦外围设备断开连接,您就可以发出另一个连接 - 一旦再次看到,iOS会自动重新连接到该设备并调用您的didConnectPeripheral:委托方法

-(void) centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error {
    NSLog(@"Disconnected from peripheral");
    [central connectPeripheral:peripheral options:nil];
}

无需重新扫描/重新发现外围设备。

您可能需要更全面的实施来更新UI等。

以下是一些连接到外围设备并显示供应商信息的示例代码 - https://github.com/paulw11/BTBackground