- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发 BLE 外设应用程序。根据要求,广告包必须包含服务数据字段。我在 Android 中做过,数据包应该是这样的:
0x16 是此处列出的服务数据字段 https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/
同样的事情,我在 iOS 中进行。我使用 BluetoothCore 框架来实现蓝牙外设。
下面是我应该用来设置服务数据字段值的属性:
advertisementData[CBAdvertisementDataServiceDataKey] = <somedata>
但是我得到了一个警告:
WARNING: The advertisement key 'Service Data' is not allowed
谁能告诉我原因以及解决方案是什么?
最佳答案
在 iOS 上宣传外围设备时,您不能指定服务数据。您只能指定服务 UUID 和服务名称。
来自documentation :
advertisementData
An optional dictionary containing the data you want to advertise. The possible keys of an advertisementData dictionary are detailed in
CBCentralManagerDelegate
. That said, only two of the keys are supported for peripheral manager objects:CBAdvertisementDataLocalNameKey
andCBAdvertisementDataServiceUUIDsKey
.
针对您的警告的解决方案是从广告数据字典中删除 CBAdvertisementDataServiceDataKey
。
恐怕没有满足您在 iOS 上的要求的解决方案。
关于ios - 警告 : The advertisement key 'Service Data' is not allowed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56315371/
我是一名优秀的程序员,十分优秀!