我遇到与设备重新连接的问题。当我离开BLE设备区域时,离开iPhone大约3分钟并等待背景然后返回,它将不会重新连接。我试图在后台扫描外围设备,但即使我指定了UUID也无法正常工作。那有什么解决方案吗?
func centralManager(central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: NSError?) {
dispatch_async(dispatch_get_main_queue(), {
self.centralManager?.connectPeripheral(self.choosenPeripheral!, options: nil)
})
}
答案 0 :(得分:3)
当外围设备断开连接时,您只需要在connectPeripheral
委托方法中再次呼叫didDisconnectPeripheral
;这将创建一个“待定”连接,一旦外围设备返回范围,iOS将连接到它并调用您的didConnectPeripheral
委托方法。
您无需Dispatch
连接操作。只需使用:
func centralManager(central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: NSError?) {
central.connectPeripheral(peripheral, options: nil)
}