如何检索所有连接的蓝牙外围设备

Posted

技术标签:

【中文标题】如何检索所有连接的蓝牙外围设备【英文标题】:How to retrieve all connected bluetooth peripherals 【发布时间】:2017-10-02 12:15:52 【问题描述】:

我正在尝试获取所有连接到 iPhone 的外围设备的列表。我连接了 Bose Soundlink,但它没有显示在我的应用程序中。我不知道 UUID,所以正在传递 [] 因为这应该得到我的想法?

func centralManagerDidUpdateState(_ central: CBCentralManager) 
    var message = ""

    switch central.state 
      case .poweredOn:
         message = "Bluetooth LE is turned on and ready for communication."

         // scan for ALL devices
        centralManager.scanForPeripherals(withServices: nil, options: nil)

         let connectedPeripherals = self.centralManager.retrieveConnectedPeripherals(withServices: []) 
        // WILL [] RETURN ALL CONNECTED PERIPHERALS?
        print("connectedPeripherals are \(connectedPeripherals)")
    

【问题讨论】:

它真的是 BLE,而不仅仅是蓝牙经典吗? 请不要对您的帖子添加感谢,请参阅meta.***.com/questions/288160/no-thanks-damn-it 好地方 Larme,Bose 确实是蓝牙经典。该死! @richc 你还记得你是怎么解决的吗? 【参考方案1】:

如果要获取所有已连接的外设,我的建议是:将字符串 180A 作为参数添加到retrieveConnectedPeripherals。所有蓝牙智能设备都实现了 DEVICE INFORMATION (180A) 服务(至少是这个)。

【讨论】:

以上是关于如何检索所有连接的蓝牙外围设备的主要内容,如果未能解决你的问题,请参考以下文章

iOS 蓝牙检索外设导致 EXC_BAD_ACCESS 崩溃

获取蓝牙低功耗外设的MAC地址

如何检索已连接的蓝牙设备的序列号?

当后台应用程序扫描蓝牙连接的外围设备时

我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios

是否有可能(并且有意义)让蓝牙 iOT 设备在外围模式下同时监听 BLE 和蓝牙经典连接