CoreBluetooth didDiscoverPeripheral未调用

时间:2018-07-12 15:51:33

标签: swift core-bluetooth

我有一个称为BLE的单例,以便管理有关ble连接的所有事情。

这是我的代码(很重要的部分):

class BLE: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate {

    static let instance = BLE()
    private var data: NSMutableData?
    private var centralManager: CBCentralManager!

    override init() {
        super.init()
        self.centralManager = CBCentralManager(delegate: self, queue: nil)
        self.data = NSMutableData()
    }

    func startScanning(timeout: Double) -> Bool {
        if self.centralManager.state != .poweredOn {
            print("[ERROR] Couldn´t start scanning")
            return false
        }
        print("[DEBUG] Scanning started")
        Timer.scheduledTimer(timeInterval: timeout, target: self, selector: #selector(BLE.scanTimeout), userInfo: nil, repeats: false)

        self.centralManager.scanForPeripherals(withServices: nil, options: [CBCentralManagerScanOptionAllowDuplicatesKey:true])

        return true
    }

    private func centralManager(central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData: [String : AnyObject],RSSI: NSNumber) {
        print("[DEBUG] Find peripheral: \(peripheral.identifier.uuidString) RSSI: \(RSSI)")
    }

}

我认为我已经阅读了所有在线阅读的内容,尝试了不同的类,但是似乎没有什么可以调用“ didDiscoverPeripheral”方法。

当我在设置应用程序中检查蓝牙连接时,会看到3种不同的设备。

可能会出什么问题?有我不知道应该打开的功能吗?它不适用于单身人士吗?我开始在这里放松grip ...

帮助,任何人...

0 个答案:

没有答案