【问题标题】:iOS get nearby devices(iPad and iPhone) list through BluetoothiOS 通过蓝牙获取附近设备(iPad 和 iPhone)列表
【发布时间】:2019-07-09 10:52:06
【问题描述】:

我正在开发一个示例项目,通过蓝牙获取附近 iOS 设备(iPhone 和 iPad)的列表。但列表不显示附近的设备(iPad 和 iPhone)

我的代码有什么问题。任何帮助将不胜感激。提前致谢

manager = CBCentralManager(delegate: self, queue: nil)

func centralManagerDidUpdateState(_ central: CBCentralManager) {
    if central.state == .poweredOn{
        manager.scanForPeripherals(withServices: nil, options: nil)
    }
}

func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
    didReadPeripheral(peripheral, rssi: RSSI)
}

func didReadPeripheral(_ peripheral: CBPeripheral, rssi: NSNumber) {
    print("peripheral name", peripheral)
    if let name = peripheral.name {
        items[name] = [ "name":name,
                        "rssi":rssi ]
    }
    tableView.reloadData()
}

【问题讨论】:

  • 你在控制台得到什么输出?

标签: swift bluetooth


【解决方案1】:

外围设备的name 属性是可选的,避免使用它。相反,使用外围标识符属性:

peripheral.identifier.uuidString

【讨论】:

    【解决方案2】:

    在发现过程中通常不会解析外设名称。您可以尝试使用方法 peripheralDidUpdateName: 来获取外设的名称。

    您可以参考此link 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多