3

使用 CoreBluetooth 框架访问低功耗蓝牙设备时,为外围设备CBCentralManager返回 a CBPeripheral

外围设备上有多种服务可用,我想将处理不同服务的特征值更新的代码拆分为多个类。因此,我需要将多个id<CBPeripheralDelegate>代表附加到外围设备。但是,这是不可能的,因为只支持一个委托。

  • 有没有办法CBPeripheral为同一个外围设备获取多个实例?

    如果多个应用程序有可能访问同一个外围设备,它们会接收不同的CBPeripheral实例吗?如果是,他们是否看到来自其他应用程序的更新?(比如说,应用程序 A 向一个特征写入一个值,应用程序 B 的代理是否也收到了 [– peripheral:didWriteValueForCharacteristic:error:] 消息?)

  • 是否有任何优雅的方法来支持将事件处理代码拆分为多个类?

4

1 回答 1

4

CoreBluetooth答案:How to design code for many features (30 - 40)? 有一些设计技巧在这里可能会有所帮助。简而言之,创建一个中介类,它可以是一个并支持多个特征类注册他们想要的任何特征。CBPeripheralDelegate

于 2013-10-24T01:22:08.377 回答