2

プロジェクトをSwift 2.3(XCode 8 beta 6)に変換したところですが、古いiOSバージョンでenum CBManagerStateを使用する方法がわかりません(私のアプリには展開ターゲットiOS7があります)。

CBCentralManager の状態は、別の列挙型 CBManagerState を使用するようになりました (以前は CBCentralManagerState でした)。

manager.state は非推奨の列挙型 CBCentralManagerState と比較できないため、以下のコードはコンパイルされません。else ブロックに何を入れればよいでしょうか?

アドバイスありがとうございます!

func isBluetoothAvailable() -> Bool {
    if #available(iOS 10.0, *) {
        return manager.state == CBManagerState.PoweredOn
    } else {
        return manager.state == CBCentralManagerState.PoweredOn
    }
}
4

1 に答える 1

1

これが確実な解決策かどうかはわかりませんが、列挙型を削除するとうまくいくようです...

func isBluetoothAvailable() -> Bool {
    return manager.state == .PoweredOn
}
于 2016-09-02T14:04:26.383 に答える