【发布时间】:2018-05-27 03:48:43
【问题描述】:
我正在尝试发现蓝牙设备并通过使用CBCentralManager 连接到它。该设备是耳机。可以通过手机蓝牙扫描发现。设备名称为“A1-25”。当我直接从手机蓝牙设置连接“A1-25”时,我可以用它播放歌曲,它工作正常。
但是,当我开始使用 CBCentralManager 扫描外围设备时。我看不到名为“A1-25”的外围设备。但相反,我看到了一个名为“EQ_Test_llyan”的外围设备。但是之前,当我从蓝牙设置中扫描附近的设备时,“EQ_Test_llyan”没有出来。
2017-12-13 16:35:07.233021+0800 Test[1405:500801] started scanning
2017-12-13 16:35:17.469375+0800 Test[1405:500801] discovered peripheral with name EQ_Test_llyan advertisementData:{
kCBAdvDataIsConnectable = 1;
kCBAdvDataLocalName = "EQ_Test_llyan";
kCBAdvDataManufacturerData = <b0024551 5f544553 54>;
}
2017-12-13 16:35:17.470672+0800 Test[1405:500801] connecting with device!!!!!!!
2017-12-13 16:35:17.654884+0800 Test[1405:500801] connected to peripheral name:EQ_Test_llyan id:7326E741-BF68-D9E8-D7A6-5F27227685A7
2017-12-13 16:35:17.656526+0800 Test[1405:500801] discovering services for peripheral name:EQ_Test_llyan
2017-12-13 16:35:18.193311+0800 Test[1405:500801] discovered services:(
) for peripheral name:EQ_Test_llyan
外围“EQ_Test_llyan”没有服务(见上面的日志),所以我无法与之通信。现在,当我回到手机设置中的蓝牙设备时,我现在连接到“EQ_Test_llyan”,但没有连接到“A1-25”。现在,我尝试播放音乐,耳机没有声音。
当我关闭耳机时,我将与“EQ_Test_llyan”断开连接,“A1-25”将消失。因此我得出结论,“EQ_Test_llyan”和“A1-25”来自同一个设备。
请注意,我可以同时连接到两者。我将以编程方式连接到“EQ_Test_llyan”,然后它将出现在设置中。然后我从手机设置中手动连接到“A1-25”。它将如下图所示。当我播放音乐时,我仍然可以听到耳机发出的声音。所以,只要我连接到“A1-25”,它就可以正常工作,而不是单独连接到“EQ_Test_llyan”。
所以我的问题是:
- CBPeripheral 指的是实际设备吗?因为如果是, 为什么我不能扫描“A1-25”,但我可以扫描“EQ_Test_llyan”?
- 请注意,当手机连接到“A1-25”时,它有一个“i” 除此之外,这意味着可以终止连接。但 当手机连接到“EQ_Test_llyan”时,没有“i” 在它旁边。因此,除非您关闭电源,否则无法断开连接 设备。那么,两者有什么区别呢?是“AI-25”吗 真实设备,而“EQ_Test_llyan”只是一个连接?我不 了解。
【问题讨论】:
标签: ios bluetooth core-bluetooth cbcentralmanager