如何使用标识符连接外围设备/ BLE设备?

时间:2019-04-29 05:38:38

标签: ios swift bluetooth-lowenergy core-bluetooth

我想使用标识符连接外围设备。 我可以吗?

centralManager?.connect(peripheral, options: nil)

我正在一个ViewController中扫描设备,并在另一个ViewController中连接设备。

以下是我的要求:

当我扫描设备并下次保存时,可以显示在主屏幕中并直接连接的设备。 因此,为此,我使用单例类从一个视图访问另一视图的外围数据。但是它总是初始化为空。 所以我想使用标识符连接外围设备。 我不知道我们将[CBPeripheral]存储在哪里,并在需要时访问它。

1 个答案:

答案 0 :(得分:2)

我想使用标识符连接外围设备。我可以吗?

简短答案: 不,你做不到。

长答案:

Refer apple official document.

  

没有用于与某人建立联系的规定或方法   标识符但是,Apple规定通过使用以下方式检索外围设备   标识符。

让我们讨论其他一些替代方法

CBPeripheral没有实现NSCoding。因此,几乎不可能将BLEPeripheral对象存储到NSUserDefaults或任何其他容器中。

最好的解决方案是存储CBPeripheral的属性,例如名称或标识符等。

UserDefaults.standard.set(Device_name, forKey: "Device_name")
UserDefaults.standard.set(Device_Identifier forKey: "Device_Identifier")

通过使用retrievePeripherals(withIdentifiers:),您可以再次获得BLEPeripheral的值。然后您可以使用该对象直接连接

Here is the documentation

retrievePeripherals(withIdentifiers:)

  

通过标识符返回已知外围设备的列表。