有没有办法发现iOS应用中的所有蓝牙设备?我正在使用CoreBluetooth,我得到了所有的iDevices以及一个未知的设备。但是如果我去General - >蓝牙 - >设备列出了我正在制作的示例应用程序未列出的几个设备。我需要在列表中找到无Apple设备并连接到它。这可能吗?为什么这两个列表(系统中的一个和应用程序中的一个)是不同的?
如果它很重要,稍后需要将它用于ODB2系统,但现在只列出已发现设备中没有Apple设备可以。
以下是我用来列出设备的代码:
class HRMViewController: UIViewController {
var centralManager: CBCentralManager!
override func viewDidLoad() {
super.viewDidLoad()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
}
extension HRMViewController: CBCentralManagerDelegate {
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .unknown:
print("central.state is .unknown")
case .resetting:
print("central.state is .resetting")
case .unsupported:
print("central.state is .unsupported")
case .unauthorized:
print("central.state is .unauthorized")
case .poweredOff:
print("central.state is .poweredOff")
case .poweredOn:
print("central.state is .poweredOn")
centralManager.scanForPeripherals(withServices: nil)
}
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
print(advertisementData)
print(peripheral)
}
}