蓝牙可以在应用中触发某个动作吗?

时间:2018-02-22 14:55:55

标签: ios swift

我打算启动一个ios应用程序,并想知道是否有办法触发某些操作,例如在蓝牙连接(或断开连接)上使用谷歌地图查找位置?

我知道苹果地图应用程序具有类似的功能,可以显示您的汽车停放的位置。任何引用都是适用的。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以在要查看的viewController中尝试此操作:

var manager: CBCentralManager!

 override func viewDidLoad(){
     super.viewDidLoad()
     manager = CBCentralManager()
     manager.delegate = self
 }

//CBCentralManager Delegate method

func centralManagerDidUpdateState(_ central: CBCentralManager) {

  switch central.state {
       case .poweredOn:
           //poweredOn
       case .resetting:
           //resetting
       case .unauthorized:
           //unauthorized
       case .unknown:
           //unknown
       case .unsupported:
           //UnSupported
       case .poweredOff:
          //Bluetooth is not Connected.Please Enable it
  }

代表中的状态将告诉您蓝牙的状态。

希望它有所帮助!

答案 1 :(得分:0)

那么委托方法在不同的连接状态之后被触发。我建议你做的最好的方法是实现以下委托方法。

Package.swift

在这些情况下调用函数来获取您的位置。此外,还有其他委托方法,如

func centralManager(_ central: CBCentralManager, 
                  didConnect peripheral: CBPeripheral) {

}

func centralManager(_ central: CBCentralManager, 
     didDisconnectPeripheral peripheral: CBPeripheral, 
                       error: Error?) {
}

但这些案例并未涵盖所有连接和断开连接的情况。但根据您的要求,您可以实施任一项。这些是 CBCentralManagerDelegate 委托。

CBCentralManager

CBCentralManagerDelegate