11

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

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

这里我为广告传递的字典是:

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

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

而且我没有收到我使用CBAdvertisementDataManufacturerDataKey中心侧的密钥发送的“一些其他数据”。我在中间得到了这个名字。那么我怎样才能将其他一些数据与广告数据一起发送呢?

4

1 回答 1

12

正如关于 startAdvertising 的CBPeripheralManager文档所述:

包含您要宣传的数据的可选字典。CBCentralManagerDelegate 协议参考中详细介绍了可能的广告数据字典键。也就是说,外围管理器对象仅支持两个键: CBAdvertisementDataLocalNameKey 和 CBAdvertisementDataServiceUUIDsKey

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

于 2013-06-24T04:32:10.620 回答