如何在 iOS 中列出可发现的蓝牙设备和已配对的设备,在 swift 中使用哪种方法?
How to List discoverable Bluetooth devices and already paired devices in iOS, which method to use in swift?
我想使用 swift 在我的应用程序中包含蓝牙功能。我想列出所有 nearby/discoverable 外围设备,包括那些已经配对的设备
我应该使用哪种方法列出配对设备。我正在使用 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)
}
}
是否需要这些方法来显示附近的外围设备,如果不是,则需要实现哪些方法和代码
提前致谢
CoreBluetooth 仅允许您访问低功耗蓝牙设备。如果您需要加密,您可以将这些设备配对,但通常不需要。
但是,没有 API 列出配对设备 - 您需要发现提供您感兴趣的服务的设备并提供一个列表,如有必要,使用您自己的 UI 在你的应用程序中。确定目标设备后,您可以启动连接。
我想使用 swift 在我的应用程序中包含蓝牙功能。我想列出所有 nearby/discoverable 外围设备,包括那些已经配对的设备
我应该使用哪种方法列出配对设备。我正在使用 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)
}
}
是否需要这些方法来显示附近的外围设备,如果不是,则需要实现哪些方法和代码
提前致谢
CoreBluetooth 仅允许您访问低功耗蓝牙设备。如果您需要加密,您可以将这些设备配对,但通常不需要。
但是,没有 API 列出配对设备 - 您需要发现提供您感兴趣的服务的设备并提供一个列表,如有必要,使用您自己的 UI 在你的应用程序中。确定目标设备后,您可以启动连接。