Я настроил свое приложение на автоматическое подключение к Bluetooth при запуске приложения, но я хотел, чтобы кнопка принудительного переподключения использовалась в случае разрыва соединения.Моя кнопка использует тот же код, что и при начальном поиске и подключении, который используется в viewDidLoad ().
ДА Я знаю о функции автоматического переподключения, и она включена, но я так хочу.
@IBAction func BTButtonPushed(_ sender: Any) {
bluejay.start() //Call Bluejay
bluejay.scan( //Begin and format BLE scanning
duration: 10, serviceIdentifiers: [self.serviceID],
discovery: { [weak self] (discovery, discoveries) -> ScanAction in
guard let weakSelf = self else {
return .stop
}
if (discovery.peripheralIdentifier.name == self!.deviceName) {
self!.pI = discovery.peripheralIdentifier
return .stop
}
weakSelf.discoveries = discoveries
return .continue
},
stopped: { (discoveries, error) in
//Once the correct device is found, connect\\
self.bluejay.connect(self.pI) {
result in
switch result {
case .success:
self.isConnected = true
self.BTButtonView.setImage(UIImage(named: "Bluetooth-Logo-on"), for: UIControl.State.normal) //Set BT logo to connected
case .failure(let error):
debugPrint(error)
self.isConnected = false
self.BTButtonView.setImage(UIImage(named: "Bluetooth-Logo-off"), for: UIControl.State.normal) //Set BT logo to connected
}
}
})
}
Кнопка отключит Bluetooth при нажатии, но не включит его, для этого я должен выйти из приложения и перезапустить.Честно говоря, я не знаю, почему он отключается от Bluetooth при нажатии, поскольку у меня нет кода, написанного для отключения.