我有一个称为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 ...
帮助,任何人...