我正在使用核心蓝牙框架。我正在尝试使用这个框架创建外围设备。我的外围设备使用以下方式广告数据:
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(使用前将#替换为@)