ios - 多个服务的 BLE 设备相同的 UUID

标签 ios bluetooth-lowenergy core-bluetooth gatt

引用 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/

相关文章:

android - Android BluetoothGattCallback 是否需要及时返回?

ios7 - iBeacon 如何唤醒我们的应用程序?多长时间?以及如何延长那个时间?

ios - CBCentralManager是否会超时连接?

ios - 想要在后台模式下运行广告外围设备iOS Swift

Android BluetoothLeScanner startScan PendingIntent 28 次后在系统范围内失败

iphone - 如何以编程方式更改 iPhone 的蓝牙参数?

ios - 同时访问0x6040000155d8,但修改需要独占访问

objective-c - [selfdismissModalViewControllerAnimated :YES]; 后如何调用 viewDidLoad

iOS:获取推送通知的所有消息

ios - 是否可以从标签栏项目执行 segue?