Hello, we use CBCentralManagerState in our bluetooth app's communication:
print("central.state: \(central.state)")
self.centralManagerState = central.state as! CBCentralManagerState
switch self.centralManagerState {
case CBCentralManagerState.unauthorized:
break
case CBCentralManagerState.poweredOff:
break
case CBCentralManagerState.poweredOn:
if queueScanning {
queueScanning = false
print("update state startScanning")
self.startScanning()
}
break
case CBCentralManagerState.resetting:
break
default:
/
break
}
In iOS 10 it is deprecated and wea re to use CBManagerState and we can wrap it in the if #available(iOS 10.0, *) {} else {} as below
public func centralManagerDidUpdateState(_ central: CBCentralManager) {
if #available(iOS 10.0, *) {
self.managerState = central.state
switch central.state {
case CBManagerState.unauthorized:
break
case CBManagerState.poweredOff:
break
case CBManagerState.resetting:
break
case CBManagerState.poweredOn:
if queueScanning {
queueScanning = false
print("update state startScanning")
self.startScanning()
}
break
default:
break
}
} else {
print("central.state: \(central.state)")
self.centralManagerState = central.state as! CBCentralManagerState
switch self.centralManagerState {
case CBCentralManagerState.unauthorized:
break
case CBCentralManagerState.poweredOff:
break
case CBCentralManagerState.poweredOn:
if queueScanning {
queueScanning = false
print("update state startScanning")
self.startScanning()
}
break
case CBCentralManagerState.resetting:
break
default:
/
break
}
}
However a couple of errors occur.
1. The else block will not compile as it also wants us not to use CBCentralManagerState
2. the declaration of var managerState: CBManagerState wants us to @available(iOS 10.0, *) on the whole class, which then filters errors throught the entire application that uses this class.
Any suggestions on how to support iOS 9 and iOS 10 with swift 3.0 would be appreciated. At this time we sould not be able to move to Swift 3 if this cannot be resolved as we have to support 9.x as well as 10.x
Thank you