浏览我的'CoreBluetooth'状态机生成的日志,并注意到外围设备在didDisconnectPeripheral
之前和CBPeripheralStateConnecting
之前正在调用didConnectPeripheral
。代码不受这种陌生感的影响,但我想了解发生了什么。
其他人是否经历过这种或类似的事情?我找不到合理的解释。
答案 0 :(得分:0)
cancelPeripheralConnection
然后发出另一个{{} 1}}此循环将再次继续3次,然后终止并通知用户出现了问题。
connectPeripheral
的调用似乎是didDisconnectPeripheral
的调用,即使没有先连接,也是对cancelPeripheralConnection
的中间调用的结果。
现在,随着iOS7的稳定性,并且我已经知道connectPeripheral
永远不会超时,我已经消除了中间cancelPeripheralConnection
的复杂性。 connectPeripheral
调用并等待连接,超时。
没有更多神秘的didDisconnectPeripheral
电话!