如何在iOS中列出可发现的蓝牙设备和已配对的设备,在swift中使用哪种方法?

时间:2015-02-05 05:59:08

标签: swift ios8 xcode6 core-bluetooth

我想使用swift在我的应用中加入蓝牙功能。我想列出所有附近/可发现的外围设备,包括那些已经配对的设备

我应该使用哪种方法列出配对设备。我使用 CoreBlutooth 框架来实现蓝牙可用性检查。如果蓝牙工作正常,我想列出配对设备。如果可能,请提供直接从列出的配对设备连接设备的方法

 func startUpCentralManager() {
    println("Initializing central manager")
    centralManager = CBCentralManager(delegate: self, queue: nil)


}



func centralManagerDidUpdateState(central: CBCentralManager!) {
    println("\(__LINE__) \(__FUNCTION__)")
     println("checking state")

    if central.state != .PoweredOn {
        // In a real app, you'd deal with all the states correctly
                    return
    }
    central.scanForPeripheralsWithServices(nil,options:nil)


}

//此方法未触发

  func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) {

    var localname: NSString = advertisementData[CBAdvertisementDataLocalNameKey]! as NSString

    println("Discovered\(peripheral.name)")

    if localname != " "
    {
        centralManager!.stopScan()
        //self.peripheral = peripheral
        peripheral.delegate = self
        centralManager!.connectPeripheral(peripheral, options: nil)


    }


}

这些方法是否必须显示附近的外围设备,如果不是要实现哪些方法和代码

先谢谢

1 个答案:

答案 0 :(得分:5)

CoreBluetooth仅允许您访问蓝牙低功耗设备。如果您需要加密,可以将这些设备配对,但通常不需要加密。

但是,没有用于列出配对设备的API - 您需要发现提供您感兴趣的服务的设备,并在必要时使用您自己的应用中的用户界面显示列表。确定目标设备后,即可启动连接。