0
我正在爲自定義藍牙設備製作應用程序。該應用程序正確地與設備連接/通信,但有時會出現一些奇怪的連接/重新連接問題。iOS藍牙根據設置連接,但我的應用程序沒有連接的外圍設備
一個這個問題的可重複的情況,當電池耗盡時:
- 應用與BT設備
- BT設備的電池耗盡,從應用程序斷開工作以及
- BT設備的電池充電,嘗試重新連接到應用程序
- BT設備連接到操作系統(蘋果的BT設備表示設備已連接)
- 應用程序發現所有的CBC特性,以及'isNotifying p roperty是假
- 應用執行setNotifyValue爲真所需要的特性
- 問題:該功能不會被調用:FUNC周(_周:CBPeripheral,didUpdateValueFor特性:CBCharacteristic,錯誤:錯誤)
- 問題:self.manager.retrieveConnectedPeripherals(withServices:[identifier])不會返回連接的外圍設備,即使Apple的BT設置表示設備已連接。
這是如何在第8步經理啓動:
fileprivate override init() {
super.init()
self.manager = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionRestoreIdentifierKey : Constants.cbCentralManagerOptionRestoreIdentifierKey])
}
問題:有誰知道這種情況的原因可能是什麼?或者修復是什麼?
可能的線索:
,我需要選擇忘記設備兩次忘記蘋果的BT設置的設備(在第一時間遺忘之後,該設備仍然與顯示信息按鈕連接)
我有背景的Bluetooth
我得到了我的調試以下消息:
[CoreBluetooth] XPC connection invalid
- 我對雨燕3,Xcode中8
當連接丟失時,您如何在IOS代碼中啓動連接?你應該簡單地調用'peripheral。connect()'in'didDisconnect' – Paulw11
重新連接時,當調用centralManager didDisconnectPeripheral時,我調用'self.manager.connect(peripheral,options:nil)'(其中self.manager與上述步驟8中的相同) –