Tengo un problema con el Bluetooth en Xcode. No puedo encontrar una gran solución sobre cómo verificar si Bluetooth está encendido o no. Solo quiero eso. Busqué en la web alguna solución, pero nada me funciona. ¿Alguna idea de cómo comprobar el Bluetooth? Importé la clase CoreBluetooth e hice esta línea de código:

if CBPeripheralManager.authorizationStatus() == .denied { code }
if CBPeripheralManager.authorizationStatus() == .authorized  { code }
23
Francesco Laiti 15 nov. 2017 a las 09:18

2 respuestas

La mejor respuesta

Implemente CBCentralManagerDelegate delegada para eso.

 var manager:CBCentralManager!

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

Método delegado:

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
    }
}
33
Sharad Chauhan 29 jun. 2018 a las 04:18

Deberá utilizar CBCentralManager y proporcionará el método delegado "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 15 nov. 2017 a las 06:31