Sau*_*lui 4 bluetooth ios core-bluetooth bluetooth-lowenergy swift
在我的项目中,我成功地连接到了蓝牙LE外围设备并CBCharacteristic从该设备获得了现成的价值。我面临一个问题。如果用户需要,我需要断开外围设备并重新连接设备。
我正在使用以下步骤。
1.断开连接:我正在打电话
centralManager?.cancelPeripheralConnection(peripheral)。此呼叫成功完成了对委托的呼叫func centralManager(central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: NSError?)
2.重新连接:我开始扫描外围设备,就像启动应用程序时一样centralManager!.scanForPeripheralsWithServices(nil, options: nil)
但是此调用从未调用func centralManager(central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData: [String : AnyObject], RSSI: NSNumber)我尝试连接BLE发现的外围设备的委托。
我的问题是断开BLE外设并在iOS中重新连接的最佳实践是什么。我做错什么了吗?
那不是重新连接到BLE的正确方法。
根据Apple文档:
重新连接外围设备
使用Core Bluetooth框架,可以通过三种方式重新连接到外围设备。您可以:
- 使用该
retrievePeripheralsWithIdentifiers:方法检索已知外围设备的列表,这些外围设备是您过去发现或连接的外围设备。如果您要查找的外围设备在列表中,请尝试连接到该外围设备。
检索已知外围设备列表中介绍了此重新连接选项。- 使用该
retrieveConnectedPeripheralsWithServices:方法检索当前连接到系统的外围设备的列表。如果您要查找的外围设备在列表中,请
在本地将其连接到您的应用程序。
检索连接的外围设备列表中介绍了此重新连接选项。- 使用该
scanForPeripheralsWithServices:options:方法扫描并发现外围设备 。如果找到它,请连接到它。发现外围设备后,将发现这些设备并做广告并连接到外围设备,其中介绍了这些步骤。
| 归档时间: |
|
| 查看次数: |
3057 次 |
| 最近记录: |