IOS蓝牙开发XPC connection invalid

今天在做蓝牙的时候 发现报错XPC connection invalid 

 is not a valid peripheral

而且蓝牙的链接状态已经变成state = disconnected

我在这里范的错误是 开始使用了一个CBCentralManager  在调用某个命令的时候 再次创建了一个CBCentralManager

原理是这样的:我同时有两个CBCentralManager,和两个蓝牙设备,一开始是这样的

A连接上了,并且用第一个CBCentralManger可以发送数据给它,B没有连接上。这时候,我就需要第二个CBCentralManager重新扫描附近的设备(包括手机已经连接上的设备,包括A)来连接B

在这个过程中,第二个CBCentralManager会连接上A(因为A是手机已经连接上的设备,我需要连接上A,然后读取"2A23"特征值来获取它的mac地址,然后判断它是不是B),导致A和第一个CBCentralManager之间的连接断开(CBPeripheral.state 变为disconnected).从而导致第一个CBCentralManager给A发送数据永远不会成功了。(坑的是,即使CBPeripheral.state已经变为disconnected了,蓝牙的断开连接回调方法并没有调用)

你可能感兴趣的:(IOS蓝牙开发XPC connection invalid)