public class BLE: NSObject, CBCentralManagerDelegate {
var centralManager:CBCentralManager!
public override init() {
super.init()
self.centralManager = CBCentralManager.init(delegate: self, queue: nil)
}
public func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .unknown:
print("unknown")
case .resetting:
print("resetting")
case .unsupported:
print("unsupported")
case .unauthorized:
print("unauthorized")
case .poweredOff:
print("powered off")
case .poweredOn:
print("powered on")
self.centralManager.scanForPeripherals(withServices: nil, options: nil)
}
}
}
This is my code, whenever I run it, it gives me the message
“[CoreBlueooth] XPC Connection Invalid”
I did try adding NSBluetoothPeripheralUsageDescription into my info.plist file but that didn’t work.
The weird part though is that, if I initialize CBCentralManager directly instead of using a class then everything works fine.
This problem only arises when I try to initialize CBCentralManager by creating on object of the class BLE or any other class for that matter.