web-dev-qa-db-ja.com

Bluetoothステータスを確認する-Swift 4

XcodeのBluetoothに問題があります。 Bluetoothがオンになっているかどうかを確認するための優れたソリューションが見つかりません。それだけが欲しい。いくつかの解決策をWebで検索しましたが、何もうまくいきません。 Bluetoothをチェックする方法についてのアイデアはありますか? CoreBluetoothクラスをインポートし、次のコード行を作成しました。

if CBPeripheralManager.authorizationStatus() == .denied { code }
if CBPeripheralManager.authorizationStatus() == .authorized  { code }
14
Franz L

そのためにCBCentralManagerDelegateデリゲートを実装します。

 var manager:CBCentralManager!

 viewDidLoad() {      // Or init()
     manager          = CBCentralManager()
     manager.delegate = self
 }

デリゲートメソッド:

func centralManagerDidUpdateState(_ central: CBCentralManager) {
    switch central.state {
    case .poweredOn:
        break
    case .poweredOff:
        print("Bluetooth is Off.")
        break
    case .resetting:
        break
    case .unauthorized:
        break
    case .unsupported:
        break
    case .unknown:
        break
    default:
        break
    }
}
24
Sharad Chauhan

cBCentralManagerを使用する必要があり、デリゲートメソッド「centralManagerDidUpdateState」を提供する必要があります https://developer.Apple.com/documentation/corebluetooth/cbcentralmanager

func centralManagerDidUpdateState(_ central: CBCentralManager)
{
    if central.state == .poweredOn
    {
        print("Searching for BLE Devices")

        // Scan for peripherals if BLE is turned on
    }
    else
    {
        // Can have different conditions for all states if needed - print generic message for now, i.e. Bluetooth isn't On
        print("Bluetooth switched off or not initialized")
    }
}
0
Waseem