作者:余逮月笑下死手 | 来源:互联网 | 2023-05-23 13:39
我想使用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> Paulw11..:
CoreBluetooth仅允许您访问蓝牙低功耗设备.如果需要加密,可以将这些设备配对,但通常情况下则不需要.
但是,没有用于列出配对设备的API - 您需要发现提供您感兴趣的服务的设备并在必要时使用您自己的应用程序UI提供列表.识别目标设备后,即可启动连接.
总而言之,您将实例化CBCentralManager-当您获取到已打开状态声明方法的回调时,可以针对所有外围设备或提供特定服务的外围设备开始扫描。对于每个发现的外围设备,将调用您的委托方法