iOS6 中的 CBP 外设名称

Posted

技术标签:

【中文标题】iOS6 中的 CBP 外设名称【英文标题】:CBPeripheral name in iOS6 【发布时间】:2013-08-13 17:52:18 【问题描述】:

我正在使用Apple's BLTE Tansfer 来模拟心率监测器。 我还有一个接收模拟数据的应用程序。

我对 CBPeripheral 的使用有疑问:

我想控制外设的名称。

首先我尝试使用以下方法添加 GAP 服务和名称特征:

[CBUUID UUIDWithString:CBUUIDGenericAccessProfileString]
[CBUUID UUIDWithString:CBUUIDDeviceNameString]

但 Xcode 告诉我不建议这样做。 该服务似乎也已包含在内(在接收方观看 didDiscoverServices 时)。

如何访问 name 属性(我想将其传输给接收者)?

【问题讨论】:

ios 7 处于保密协议下。请不要将 iOS 7 问题发布到 Stack Overflow;请改用 Apple 的 Developer Forums。 别着急,这个问题和iOS7无关:) @eshellborn - 保密协议...:P表示怀疑...JFF 【参考方案1】:

您无需添加新服务,只需按以下方式设置广告即可:

NSDictionary *advData = 
     @CBAdvertisementDataLocalNameKey:@"<your desired name>",
       CBAdvertisementDataServiceUUIDsKey:@[[CBUUID UUIDWithString:@"180D"]];
[peripheralManager startAdvertising:advData];

【讨论】:

以上是关于iOS6 中的 CBP 外设名称的主要内容,如果未能解决你的问题,请参考以下文章

首次设置 BLE 外设名称的方式和时间

BLE在不同设备上的不同外设名称

Apple iOS6 地图 - 目的地地址 > 显示公司名称而不是纬度/经度

意外的类型名称“BOOL”:iOS SDK 6.1(设备)中的预期表达式

SPI详解2

如何更新蓝牙设备的periphera.name?