CoreBluetooth在读取其他特性时读取特定特征的值

时间:2017-11-06 03:45:45

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

在我的应用程序中,我需要从多个具有相同服务和特征UUID的外围设备读取/写入值。每个外围设备具有许多特征,其中一个特定特征的值用于唯一地识别外围设备。我想弄清楚的是

  • 如何连接到拥有该设备的所有外围设备 同样的服务uuid​​s。
  • 在读取其他特性的值时,是否可以读取用于唯一识别外围设备的特性值,以便我可以区分特征值更新的外围设备。

1 个答案:

答案 0 :(得分:1)

启动特定服务的扫描并设置CBCentralManager委托后,您将收到此回调:

optional func centralManager(_ central: CBCentralManager, 
                 didDiscover peripheral: CBPeripheral, 
           advertisementData: [String : Any], 
                        rssi RSSI: NSNumber)

在这里,您将获得公开特定服务的外围设备,您可以通过简单地呼叫CBCentralManager通过您要连接的外围设备来连接它:

func connect(_ peripheral: CBPeripheral, 
     options: [String : Any]? = nil)

注意你可以在十个外围设备上连接最多(如果我记得的话) 您如何阅读特性并管理如何使用不同的外围设备存储它们取决于您。要唯一标识外设,可以使用identifier属性,这是基于mac地址的计算属性。标识符不保证在生命周期内得到修复。

相关问题