Core Bluetooth Swift获取设备名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Core Bluetooth Swift获取设备名称相关的知识,希望对你有一定的参考价值。

我正在研究核心蓝牙框架,我做了一个关于它的学习测试项目:

class ViewController: UIViewController,CBCentralManagerDelegate,CBPeripheralDelegate {

    var centralManager: CBCentralManager = CBCentralManager()
    var peripheral: CBPeripheral? = nil

    override func viewDidLoad()
    {
        super.viewDidLoad()
        centralManager = CBCentralManager(delegate: self, queue: nil)
    }

    override func didReceiveMemoryWarning()
    {
        super.didReceiveMemoryWarning()

    }

    func centralManagerDidUpdateState(_ central: CBCentralManager)
    {
        central.scanForPeripherals(withServices: nil, options: nil)
    }

    @available(ios 5.0, *)
    public func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber)
    {
        let device = (advertisementData as NSDictionary)
            .object(forKey: CBAdvertisementDataLocalNameKey)
            as? NSString

        let isMyIphone = device?.contains("iPhone")

    }
}

为了开始我想看到我周围的蓝牙名称,因此我有2个iPhone。一个我用来执行这个'app'进行扫描,我想看到另一个iPhone的名称(蓝牙设置名称是'iPhone'),但是当我开始扫描方法'didDiscover'被调用但设备常数是零。为什么?我错了什么?

答案

如果你使用peripheral.name更好 让device =(advertiseData as NSDictionary).object(forKey:CBAdvertisementDataLocalNameKey)as?的NSString

以上是关于Core Bluetooth Swift获取设备名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中使用 Core Bluetooth 获取蓝牙设备的唯一 ID

有没有办法可以在 Swift 中使用 Core Bluetooth 更改另一部 iPhone 上的视图控制器?

我们可以使用 Core-Bluetooth 模拟“不可连接”的外围设备吗

Core Bluetooth下实现两个设备进行互联

Core Bluetooth 概述 官方文档翻译

如何使用 Core Bluetooth 在 iOS 中设置 BLE 外围设备的名称