CoreBluetooth无法看到外围设备名称

时间:2020-10-03 11:20:36

标签: swift

我正在尝试扫描所有设备,当我运行此代码以在打开蓝牙的iPhone上对其进行测试时,我还为该设备设置了名称。当我打印到控制台时,它只说没有名字。我尝试了多种方法来解决此问题,但我确实在努力实现这一点。这是获取外围设备名称的正确方法,因为它是空的还是我做错了。

import UIKit
import CoreBluetooth

class ViewController: UIViewController {
    
    private var centralManager: CBCentralManager!

    override func viewDidLoad() {
        super.viewDidLoad()
       //Instantiate CBCentralManager in viewDidLoad method.
        centralManager = CBCentralManager(delegate: self, queue: nil, options: nil)
        view.backgroundColor = .white

    }
}

extension ViewController:CBCentralManagerDelegate {
    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        // checks to see if the bluetooth is on
    
        if central.state == .poweredOn {
            print("Bluetooth is On")
            centralManager.scanForPeripherals(withServices: nil, options: nil)
        } else {
            print("Bluetooth is not active")
        }
    }

    func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
        //It will be called when any advertising device is discovered. Inside the method, it prints the device name, RSSI, and advertising data.
        print("\nName   : \(peripheral.name ?? "(No name)")")
        print("RSSI   : \(RSSI)")
        for ad in advertisementData {
               print("AD Data: \(ad)")
           }
    }

}

在控制台中,显示如下

  Bluetooth is On

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 0)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : -87
AD Data: (key: "kCBAdvDataServiceUUIDs", value: <__NSArrayM 0x280370c90>(
FD6F
)
)
AD Data: (key: "kCBAdvDataIsConnectable", value: 0)
AD Data: (key: "kCBAdvDataServiceData", value: {
    FD6F = <e1644a9f c228311d 5fac0de6 c66fecfd 1de02b44>;
})

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : -40
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : -92
AD Data: (key: "kCBAdvDataIsConnectable", value: 0)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

Name   : (No name)
RSSI   : -87
AD Data: (key: "kCBAdvDataIsConnectable", value: 0)

Name   : (No name)
RSSI   : 127
AD Data: (key: "kCBAdvDataTxPowerLevel", value: 12)
AD Data: (key: "kCBAdvDataIsConnectable", value: 1)

0 个答案:

没有答案