我正在研究一个示例项目,以通过蓝牙获取附近的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()
}
答案 0 :(得分:0)
name
属性是可选的,请避免使用它。而是使用外围设备标识符属性:
peripheral.identifier.uuidString
答案 1 :(得分:0)
在发现期间通常不解析外围设备名称。您可以尝试使用pheralDidUpdateName:方法获取外围设备的名称。
您可以参考此link以获得更多信息。