引用 v4.0 第 3 卷 G 部分第 3.1 节
A device or higher level specification may have multiple service definitions and may have multiple service definitions with the same service UUID.
我正在为连接到特定外围设备的 iPhone(中央)进行一些开发。 iPhone 连接的外围设备也在野外扫描信标(ADV_NONCONN_IND,不是 iBeacon),并修改本地托管的 GATT 服务器以提供代表每个信标的服务。
我是否应该为每个在 GATT 服务器上表示为服务的信标随机生成一个 UUID?我知道规范说一个设备可以有多个具有相同 UUID 的服务定义,但我怀疑 iPhone API 是否能够区分同一 UUID 下有多个服务定义。 (我担心 Core Bluetooth 中的某种内部扁平化措施)
我猜唯一真实的方法是将一个简单的示例放在一起,看看 iPhone 是否会向我显示多个具有相同 UUID 的服务。在我们的例子中,UUID 只是另一个需要跟踪的唯一标识符,因为我们有很多其他属性可以作为索引依据。
如果有这方面的专家,我很想听听对此事的一些见解!这是一次学习尝试!
谢谢,
布莱斯·雅各布斯
最佳答案
具有相同UUID的服务在GATT服务器中可以通过不同的handle来区分。这些服务可以被视为一种服务类型的多个实例。
关于ios - 多个服务的 BLE 设备相同的 UUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443257/