使用 CoreBluetooth 框架访问低功耗蓝牙设备时,为外围设备CBCentralManager
返回 a CBPeripheral
。
外围设备上有多种服务可用,我想将处理不同服务的特征值更新的代码拆分为多个类。因此,我需要将多个id<CBPeripheralDelegate>
代表附加到外围设备。但是,这是不可能的,因为只支持一个委托。
有没有办法
CBPeripheral
为同一个外围设备获取多个实例?如果多个应用程序有可能访问同一个外围设备,它们会接收不同的
CBPeripheral
实例吗?如果是,他们是否看到来自其他应用程序的更新?(比如说,应用程序 A 向一个特征写入一个值,应用程序 B 的代理是否也收到了 [– peripheral:didWriteValueForCharacteristic:error:] 消息?)是否有任何优雅的方法来支持将事件处理代码拆分为多个类?