早上好,这是Pavan,我对corebluetooth有疑问。我正在使用蓝牙LE设备。我在目标c中使用核心蓝牙框架编写了示例代码,我得到了蓝牙名称,UUID,RRSI值。我使用了中央管理器,外设管理器和外围委托方法.MY代码不执行CBPeripheralManager委托方法。 它只提供一个UUID kCBAdvDataServiceUUIDs =" 00001C00-D102-11E1-9B23-00025B00A5A5" ,无法获得剩余服务。
在这里,我需要获得警报设置,投注级别,日期和时间设置。我使用了你的示例项目我得到了以下结果。 找到的外围设备名称:可选("名称")
UUID: 48D98C88-4FAC-A584-839D-D06D953B941D
RSSI: -71
Advertisement Data: ["kCBAdvDataServiceUUIDs": (
"00001C00-D102-11E1-9B23-00025B00A5A5"
), "kCBAdvDataTxPowerLevel": 8, "kCBAdvDataIsConnectable": 1]
无法与外围设备断开连接,但出现错误:Error Domain=CBErrorDomain Code=7 "The specified device has disconnected from us." UserInfo=0x165d4000 {NSLocalizedDescription=The specified device has disconnected from us.}
周边:
我无法得到问题所在。 请帮帮我。
答案 0 :(得分:0)
您能否解释一下您的问题。 你说它只提供一个UUID kCBAdvDataServiceUUIDs =" 00001C00-D102-11E1-9B23-00025B00A5A5"
这是服务UUID的广告数据,它返回一个不完整的服务UUID列表,由外围设备管理。
要获取服务UUID的完整列表,您必须在使用discoverServices连接到外围设备后发现它们
好像你做了:
[peripheral discoverServices:@[[CBUUID UUIDWithString:@"0x1811"]]];
它只会发现0x1811 UUID的服务。 如果您想发现所有必须致电的服务
[peripheral discoverServices:nil];
未能与外围设备断开连接似乎是外围设备问题。它只是告诉你它无法断开,因为外围设备已经断开你的设备。
无论如何,您的断线错误或服务发现是您的问题吗?因为你的问题不清楚。