1

我有一個應用程序應該使用CoreBluetooth連接到不同的設備一次。 這裏我的問題是意外斷開連接發生。一旦我連接到任何外設,方法didDisconnectPeripheral自己調用

func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) { 

被自己調用,這意味着設備斷開連接。 我瀏覽了文檔,但發現沒有用。我知道BLE可以是一對多的,所以這個問題來自哪裏? 我在iOS BLE peripherals keep disconnecting immediately after discoverServices is called檢查答案,我已經拿着一個數組的CBPeripherals,但問題仍然存在。的輸出

例如我

Connect to <CBPeripheral: 0x15e85a80, identifier = 1BD21078-B2B7-1EE9-5BDC-324DEC7A1BD6, name = Mac mini, state = connected> 

Connect to <CBPeripheral: 0x15d83b20, identifier = 6BA160A7-55E7-501D-F195-437CDCD2B558, name = Mac mini, state = connected> 

Disconnect from <CBPeripheral: 0x15e85a80, identifier = 1BD21078-B2B7-1EE9-5BDC-324DEC7A1BD6, name = Mac mini, state = disconnected>錯誤域= CBErrorDomain代碼= 6 「的連接已意外超時」。 UserInfo = {NSLocalizedDescription =連接意外超時}}

+1

錯誤參數是否在你的情況? – Larme

+0

錯誤域= CBErrorDomain代碼= 7「指定的設備已與我們斷開連接。」 UserInfo = {NSLocalizedDescription =指定設備已與我們斷開連接。} – Elsammak

+0

您是否始終連接到銷售類設備?你甚至不能連接到1臺設備? – Larme

回答

1

鏈接斷開有一些不同的原因。任何一方發起斷開程序。錯誤6「連接意外超時」意味着藍牙鏈路丟失了無線電級別的連接,例如由於超出範圍或其他類型的干擾。