web-dev-qa-db-fra.com

Vérifier l'état Bluetooth - Swift 4

J'ai un problème avec le Bluetooth dans Xcode. Je ne trouve pas une excellente solution pour savoir si Bluetooth est activé ou non. Je veux juste ça. J'ai cherché sur le Web une solution, mais rien ne fonctionne pour moi. Une idée sur la façon de vérifier Bluetooth? J'ai importé la classe CoreBluetooth et j'ai fait cette ligne de code:

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

Implémentez CBCentralManagerDelegate délégué pour cela.

 var manager:CBCentralManager!

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

Méthode déléguée:

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

vous devrez utiliser CBCentralManager et fournir la méthode déléguée "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