检查蓝牙状态 – Swift 4

我在Xcode中遇到蓝牙问题。 关于如何检查蓝牙是否打开,我找不到一个很好的解决方案。 我想要那个。 我在网上搜索了一些解决方案,但没有什么对我有用。 有关如何检查蓝牙的任何想法? 我导入了CoreBluetooth类,我编写了这行代码:

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

CBCentralManagerDelegate实现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 } } 

您需要使用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, ie Bluetooth isn't On print("Bluetooth switched off or not initialized") } }