我想使用标识符连接外围设备。 我可以吗?
centralManager?.connect(peripheral, options: nil)
我正在一个ViewController
中扫描设备,并在另一个ViewController
中连接设备。
以下是我的要求:
当我扫描设备并下次保存时,可以显示在主屏幕中并直接连接的设备。
因此,为此,我使用单例类从一个视图访问另一视图的外围数据。但是它总是初始化为空。
所以我想使用标识符连接外围设备。
我不知道我们将[CBPeripheral]
存储在哪里,并在需要时访问它。
答案 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
的值。然后您可以使用该对象直接连接
retrievePeripherals(withIdentifiers:)
通过标识符返回已知外围设备的列表。