在中央发现外围设备的情况下,但在用户按下按钮进行连接之前,外围设备超出范围,因此无法完成连接。 CoreBluetooth调用了什么方法? 我以为会调用centralManager didFailToConnect,但在我的代码中它没有被调用,也许是因为连接从未启动过? 在这种情况下,我应该使用哪种方法。 提前感谢您的帮助。
[PhaseID]
答案 0 :(得分:1)
在这种情况下不会调用任何内容,因为外围设备未连接,连接外围设备也没有错误。
核心蓝牙将为该外围设备提供挂起的连接,一旦它返回到范围内,连接将完成并将调用didConnectPeripheral
。
答案 1 :(得分:1)
如上一个答案中所述,如果任何设备未启动连接过程,则不会调用任何委托方法。didFailToConnect
方法仅在设备启动连接过程时调用,但由于任何原因导致设备无法连接。
如果要检查是否有任何设备用于连接,则需要在特定时间段内创建一个计时器,如果在此期间未扫描任何设备,则可以显示一条消息,显示"没有可用的设备"并再次检查设备。