CoreBluetooth - 在iPhone上实现的外围设备的通用访问(1800)?

时间:2017-02-13 15:57:51

标签: ios bluetooth-lowenergy core-bluetooth

我在iOS应用程序中实现了外围角色,并且我能够成功配置正在广告并可以访问的自定义服务。

现在它看起来我无法更改通用Acccess配置文件值,例如设备名称 - 我正在添加为" 1800"配置的CBMutableService。但在扫描列表中,我仍然看到" GENERIC PHONE"值。

有没有办法改变它?

1 个答案:

答案 0 :(得分:2)

您的服务不是自己的外围设备。它是整个设备(手机)的共享外围设备的一部分。所以你不直接控制GAP,你只需提供服务。

也就是说,在您控制的同时设置外围设备的广告名称很简单。您只需在CBAdvertisementDataLocalNameKey词典中使用startAdvertising传递它:

[self.peripheralManager startAdvertising:@{
    CBAdvertisementDataServiceUUIDsKey : @[[CBUUID UUIDWithString:MY_SERVICE_UUID]],
    CBAdvertisementDataLocalNameKey : @"MyDevice"
}];

请注意,您可以控制的唯一内容是本地名称和服务UUID。您无法设置制造商数据,传输功率等内容。