Недавно я загрузил Xcode 8.0 и попытался запустить свой предыдущий проект, в котором используется основной Bluetooth.
Я включил Использовать устаревшую языковую версию Swift в настройках сборки для совместимости в Swift 2.3, все работает, но возникла одна проблема,
func centralManagerDidUpdateState(central: CBCentralManager)
{
print("state is \(central.state.rawValue)")
if (central.state == CBCentralManagerState.PoweredOn)
{
self.centralManager?.scanForPeripheralsWithServices([serviceUUID], options: nil)
}
else
{
// do something like alert the user that ble is not on
}
}
ранее central.state возвращал тип CBCentralManagerState как int, но теперь он возвращает CBManagerState, поэтому получил ошибку, поэтому я изменил на
if (central.state == CBManagerState.PoweredOn)
Но CBManagerState поддерживается только в IOS 10+, но я хочу создать его для IOS 8.3+, так как я могу изменить код?
ОБНОВЛЕНИЕ Я также преобразовал проект в swift 3.0, но все еще та же проблема, так как я могу запустить этот проект на мобильных устройствах с версией iOS ниже 10?