BluetoothLE Enable ?

Hi


I have a project to work with BluetoothLE. I try to run the sample code from the 'adafruit/Basic-Chat/BLECentralViewController.swift' from github.

I put the break point 'if central.state == CBManagerState.poweredOn' to this statement. It always said that 'Bluetooth Disabled- Make sure your Bluetooth is turned on'.


System Preference/Bluetooth is 'ON' and I use BT wireless keyboard and mouse.

Mac Mini (Late 2014) OS: 10.13.3


When I debug with XCode, I try to check the status of CBCentralManagerState. Result is CBCentralManagerStateUnknown.

How can I enable the Bluetooth?


Thank you for your assistance and help.


Dko


note: I also try the code from Apple Developer 'https://developer.apple.com/library/content/samplecode/HeartRateMonitor/'.

The result is almost the same. 'Bluetooth is not turn on..', to CBCentralManagerStateUnknown


switch ([manager state])

{ case CBCentralManagerStateUnsupported:

state = @"The platform/hardware doesn't support Bluetooth Low Energy.";

break;

case CBCentralManagerStateUnauthorized:

state = @"The app is not authorized to use Bluetooth Low Energy.";

break;

case CBCentralManagerStatePoweredOff:

state = @"Bluetooth is currently powered off.";

break;

case CBCentralManagerStatePoweredOn:

return TRUE;

case CBCentralManagerStateUnknown:

default:

return FALSE;

}


The following is the code from 'adafruit/Basic-Chat/BLECentralViewController.swift' from github'.

/* Invoked when the central manager’s state is updated.

This is where we kick off the scan if Bluetooth is turned on.

*/

func centralManagerDidUpdateState(_ central: CBCentralManager) {

if central.state == CBManagerState.poweredOn {

// We will just handle it the easy way here: if Bluetooth is on, proceed...start scan!

print("Bluetooth Enabled")

startScan()

} else {

//If Bluetooth is off, display a UI alert message saying "Bluetooth is not enable" and "Make sure that your bluetooth is turned on"

print("Bluetooth Disabled- Make sure your Bluetooth is turned on")

let alertVC = UIAlertController(title: "Bluetooth is not enabled", message: "Make sure that your bluetooth is turned on", preferredStyle: UIAlertControllerStyle.alert)

let action = UIAlertAction(title: "ok", style: UIAlertActionStyle.default, handler: { (action: UIAlertAction) -> Void in

self.dismiss(animated: true, completion: nil)

})

alertVC.addAction(action)

self.present(alertVC, animated: true, completion: nil)

}

}