我正在开发 BLE 外设应用程序。根据要求,广告包中必须包含Service Data字段。我在Android中做到了这一点,数据包应该是这样的:
0x16 是此处列出的服务数据字段https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/
同样的事情,我在 iOS 中也是这样做的。我使用BluetoothCore框架来实现蓝牙外设。
以下是我应该用来设置服务数据字段值的属性:
advertisementData[CBAdvertisementDataServiceDataKey] = <somedata>
但是我收到了警告:
警告:不允许使用广告密钥“服务数据”
有人可以告诉我为什么以及解决方案是什么吗?
在 iOS 上宣传外围设备时,您无法指定服务数据。您只能指定服务 UUID 和服务名称。
来自文档:
advertisementData
包含您想要公布的数据的可选字典。广告数据字典的可能键详细信息参见CBCentralManagerDelegate
。也就是说,外设管理器对象仅支持其中两个键:CBAdvertisementDataLocalNameKey
and CBAdvertisementDataServiceUUIDsKey
.
解决您的警告的方法是删除CBAdvertisementDataServiceDataKey
来自广告数据字典。
恐怕 iOS 上没有满足您要求的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)