Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 蓝牙能否触发应用程序中的特定操作?_Ios_Swift - Fatal编程技术网

Ios 蓝牙能否触发应用程序中的特定操作?

Ios 蓝牙能否触发应用程序中的特定操作?,ios,swift,Ios,Swift,我正计划启动一个ios应用程序,想知道是否有办法触发某些操作,例如在蓝牙连接(或断开连接)上使用谷歌地图查找位置 我知道苹果地图应用程序也有类似的功能,可以显示你的车停在哪里。任何参考资料都是合适的 谢谢。您可以在您的viewController中尝试此功能,您可以在其中检查: var manager: CBCentralManager! override func viewDidLoad(){ super.viewDidLoad() manager = CBCentra

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

我知道苹果地图应用程序也有类似的功能,可以显示你的车停在哪里。任何参考资料都是合适的


谢谢。

您可以在您的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
  }
代表中的状态将告诉您蓝牙的状态


希望有帮助

在不同的连接状态后,会触发委托方法。我建议您最好的方法是实现以下委托方法

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

}

func centralManager(_ central: CBCentralManager, 
     didDisconnectPeripheral peripheral: CBPeripheral, 
                       error: Error?) {
}
在这些情况下,调用函数获取您的位置。此外,还有其他委托方法,例如

func centralManagerDidUpdateState(_ central: CBCentralManager) { 
    }
func centralManager(_ central: CBCentralManager, 
            didFailToConnect peripheral: CBPeripheral, 
                       error: Error?) {
}
但这些案例并不包括所有连接和断开的案例。但是,根据您的需求,您可以实现任何一个。这些是CBCentralManagerDelegate代表


您是说从手机获取位置并在连接后将其发送到蓝牙设备,还是想在连接或断开后获取位置并将其保存在apple设备中?@Gihan我想在设备连接或断开蓝牙连接时查找位置。谢谢