来自 2 个 BLE 设备的 ios 通知

Posted

技术标签:

【中文标题】来自 2 个 BLE 设备的 ios 通知【英文标题】:ios notification from 2 BLE devices 【发布时间】:2014-11-21 17:40:00 【问题描述】:

ios 中,我通过扫描连接到 1 个外围设备,发现其服务等。完成后,我会收到来自特征更改的通知。

然后我对另一个外围设备执行相同的操作,同时连接第一个外围设备:扫描、连接到第二个外围设备等。

我将收到来自第二台设备的通知,但我将停止接收来自第一台设备的通知,即使我没有从第一个连接的设备收到任何断开连接事件。这正常吗?

编辑:

@property (strong, nonatomic) CBPeripheral *device1_;
@property (strong, nonatomic) CBPeripheral *device2_;

给定我连接的设备的名称,我使用一个或另一个参考

【问题讨论】:

您如何存储对您连接的外围设备的引用?当您连接到第二个时,您会覆盖相同的属性/变量吗? @Paulw11 见编辑。在以peripheral 作为输入的回调中,我应该使用引用(例如device1_peripheral 吗? 我发现使用传递的peripheral 通常更容易,但应该没关系 【参考方案1】:

我已经用 2 个私有变量替换了属性,它现在可以工作了

@implementation BLEManager 
  CBCentralManager* centralManager_;
  CBPeripheral* device1_;
  CBPeripheral* device2_;


...

@end

【讨论】:

以上是关于来自 2 个 BLE 设备的 ios 通知的主要内容,如果未能解决你的问题,请参考以下文章

读取并通知BLE android

通过 BLE 通知接收数据包

BLE Android,不能启用超过 1 个关于读取特性的通知

核心蓝牙框架中的 ANCS 通知

如果在 Android 中连接到 BLE 设备失败,如何通知用户?

识别正在通知的 BLE 设备