警告:不允许使用广告代码“服务数据”

时间:2019-05-26 16:28:09

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

我正在开发BLE外围应用程序。根据要求,广告包必须包含“服务数据”字段。我已经在Android中完成此操作,数据包应如下所示:

enter image description here

0x16是此处https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/

列出的“服务数据”字段

同一件事,我在iOS中完成。我使用BluetoothCore框架来实现蓝牙外围设备。

以下是我应该用来为“服务数据”字段设置值的属性:

advertisementData[CBAdvertisementDataServiceDataKey] = <somedata>

但是我收到警告:

  

警告:不允许使用广告代码“服务数据”

有人可以让我知道原因和解决方案吗?

1 个答案:

答案 0 :(得分:1)

在iOS上为外围设备做广告时,您不能指定服务数据。您只能指定服务UUID和服务名称。

来自documentation

  

advertisementData

     

包含要发布的数据的可选词典。 CBCentralManagerDelegate中详细说明了advertiseData词典的可能关键字。也就是说,外围设备管理器对象仅支持两个键:CBAdvertisementDataLocalNameKeyCBAdvertisementDataServiceUUIDsKey

解决此警告的方法是从广告数据字典中删除CBAdvertisementDataServiceDataKey

恐怕iOS上无法解决您的要求。