Я работаю с проектом Bluetooth и имею 3 контроллера вида: MainMenuViewController, ViewController1 и ViewController2.Когда я перехожу из MainMenuViewController в ViewController1 или ViewController2, я могу подключиться и управлять своим устройством Bluetooth.Но затем, если я возвращаюсь к MainMenuViewController и затем пытаюсь работать с ViewController1 или ViewController2, ничего не происходит.Я могу подключиться к устройству (по крайней мере, я могу сделать это с помощью сборщика), но не управлять им.Я использую Navigation Controller и Show Segues для навигации.Как я могу перемещаться между контроллерами и иметь возможность повторно подключиться к устройству и управлять им?
Вот фрагмент кода VC1.VC2 выглядит аналогично
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.isIdleTimerDisabled = true
NotificationCenter.default.addObserver(self, selector: #selector(accessoryConnected), name: NSNotification.Name.EAAccessoryDidConnect, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(accessoryDisconnected), name: NSNotification.Name.EAAccessoryDidDisconnect, object: nil)
EAAccessoryManager.shared().registerForLocalNotifications()
EAAccessoryManager.shared().showBluetoothAccessoryPicker(withNameFilter: nil, completion: {(error: NSError?) in
} as? EABluetoothAccessoryPickerCompletion)
/// Здесь я пытался закрыть соединение при нажатии Back, но это не помогло мне с возможностью управления устройством после возврата к этому VC
override func didMove(toParent parent: UIViewController?) {
super.didMove(toParent: parent)
if parent == nil {
debugPrint("Back Button pressed.")
stopVC1()
}
}
func stopVC1 () {
self.stopTimer()
self.brick?.closeConnection()
close(0)
}