didConnectPeripheral 不调用

在使用蓝牙相关库的时候,遇到一个问题。

CBCentralManager连接设备成功,但是didConnectPeripheral和didFailToConnectPeripheral都没有调用。检查过很多遍,delegate没有问题,CBPeripheral也没有被释放掉(网上很多提及),地址是同一个。

找了很久,后来发现我使用的Framework中也有一个CBCentralManager(下面简称mgrA)。我自己在项目中也写了一个CBCentralManager(下面简称mgrB)。
我的操作是:用mgrB扫描,扫描到设备CBPeripheral,然后用mgrA去连接设备。结果不管是mgrA还是mgrB的didConnectPeripheral和didFailToConnectPeripheral都是不会调用的。必须是mgrA扫描,然后使用mgrA自己去连接,或者mgrB扫描,mgrB连接才会有反应。

这次是因为使用了多家的芯片,涉及到多家的库。有些厂家有封装ADK,有些没有,需要自己写。本来是想统一用自己写的CBCentralManager来扫描设备,接下来再根据需要调用对方的库方法,没想到还有这样的坑,今后还是要多多注意。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容