CoreBluetooth 中不允许使用广告密钥“制造商数据”

2023-11-23

我正在使用核心蓝牙框架。我正在尝试使用这个框架创建外围设备。我的外围设备使用以下方式广告数据:

manager=[[CBPeripheralManager alloc]initWithDelegate:self queue:nil];
[manager startAdvertising:dictionary];

我为广告传递的字典是:

NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
                                    @"name", CBAdvertisementDataLocalNameKey,@"some other data",CBAdvertisementDataManufacturerDataKey,nil];

当我运行应用程序时,我收到警告:CoreBluetooth 中不允许使用广告密钥“制造商数据”

我没有收到我使用密钥发送的“一些其他数据”CBAdvertisementDataManufacturerDataKey在中央一侧。我在中央一侧得到了名字。那么如何将其他一些数据与广告数据一起发送呢?


As the CBP外设管理器关于 startAdvertising 的文档指出:

包含您想要公布的数据的可选字典。 CBCentralManagerDelegate 协议参考中详细介绍了advertisementData 字典的可能键。也就是说,外设管理器对象仅支持其中两个键:CBAdvertisementDataLocalNameKey 和 CBAdvertisementDataServiceUUIDsKey.

这些键仅在 iOS 设备处于中央模式并且正在发现外部外围设备(即只读)时才适用。我不知道为什么在外设模式下操作时会出现此限制,您可以尝试提交有关它的错误报告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CoreBluetooth 中不允许使用广告密钥“制造商数据” 的相关文章

随机推荐