От IOS, SDK 10.0, класс CBCentralManager
теперь унаследовал от CBManager
проблемы совместимости между CoreBluetooth CBCentralManagerState (IOS 5.x до 9.x) и CBManagerState (IOS 10.x или выше)
CBManager
вводится прошивкой 10.0, он недоступен в более ранних версиях.
Свойство state
теперь переписываются как CBManagerState
CBManagerState
также вводится в прошивкой 10.0, он не доступен в более ранних версиях.
Это означает CBCentralManager
«s state
свойства имеет типа CBManagerState
, который доступен только на прошивке 10,0
Так что, когда вы читаете состояние, вы получите CBManagerState
. Но для более ранних версий iOS этот тип недоступен, поэтому вы должны использовать его для ранее признанного (устаревшего в iOS 10.0) CBCentralManagerState
типа перечисления.
CBCentralManagerState(rawValue: centralManager.state.rawValue) ?? .Unknown
Теперь вы можете использовать эту state
собственности в более ранние версии IOS. Когда ваше приложение будет подготовлено для iOS 10.0 или выше, только тогда вы можете использовать его как CBManagerState
напрямую.
http://stackoverflow.com/questions/39577272/how-to- convert-value-of-type-cbmanagerstate-to-expected-type-cbcentralmanager? – Larme