访问相同BLE外设的iOS应用程序:如何区分?

时间:2018-01-24 17:53:07

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

我必须遵循以下场景: 我的应用程序请求并从BLE外围设备(血糖仪)接收数据。用户可能安装了另一个应用程序(来自其他开发人员),该应用程序也与外围设备通信。我注意到我的应用收到了针对其他应用启动的请求的特征通知。这导致我的应用程序两次接收一些数据。

有没有办法区分我的请求的响应和另一个应用程序引起的响应?或者我该如何处理?

1 个答案:

答案 0 :(得分:1)

虽然堆栈显然知道某个(读取,写入)响应属于哪个应用程序(因为可能只有一个待处理请求,并且它知道是谁发送了请求),但是没有合理或合理的理由为什么它应该发送通知单个应用程序(已启用通知的人)。

请注意,GATT规范没有定义“每个链接多个gatt客户端”,只有一个客户端,因此外围设备甚至不知道可能有两个应用程序与之通信。因此,当它发送通知时,它不包含“目标应用”字段。

将多个应用程序多路复用到同一个GATT连接的功能是iOS和Android团队提出的。