iOS通过蓝牙获取附近的设备(iPad和iPhone)列表



我正在研究一个示例项目,以通过蓝牙获取附近的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()
}

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

peripheral.identifier.uuidString

通常在发现期间无法解决外围名称。您可以尝试使用该方法外围adiDupDateName:获取外围的名称。

您可以参考此链接以获取更多信息。

最新更新