У меня есть 3 ViewControllers.1) Домашний VC 2) Scan VC 3) Подключение VC
Шаги: Из Home VC я нажимаю на Scan VC для сканирования доступных устройств BLE.
Scan VC: У меня есть весь код связи BLE здесь:
override func viewDidLoad() {
super.viewDidLoad()
AppConstants.sharedInstance.centralManager = CBCentralManager(delegate: self, queue: nil) // created global Instance for central Manager and assigned it here
}
Выше будет звонить centralManagerDidUpdateState(_ central: CBCentralManager)
Где я проверяю все состояния для BLUETOOTH.И если
case .poweredOn:
btnRefresh.isEnabled = true
print("central.state is .poweredOn...")
startScan()
}
, то я сканирую устройства.
Как только я получаю свое устройство, я подключаюсь к нему из списка отсканированных устройств,
Затем я успешноПодключитесь к этому устройству: Подключите VC.
Пока все отлично.
Но настоящая проблема начинается, когда
1) Я выскакиваю из Подключите VC к сканированию VC и затем снова зайдите на HOMEVC И
2) Затем я снова перехожу из Home VC к СканированиюVC
Scan VC: Это вызовет и назначит делегата моему глобальному CentralManager, и как только он снова назначит делегата, он отключит предыдущее соединение.(Даже я не получаю didDisconnectPeripheral Call)
override func viewDidLoad() {
super.viewDidLoad()
AppConstants.sharedInstance.centralManager = CBCentralManager(delegate: self, queue: nil) // Here when I come again it disconnects old connection.
}
Я не знаю, в чем проблема.Я не получаю никаких ошибок.Пожалуйста, помогите ...