<分区>
我们如何使用 Swift 语言确定蓝牙或 Wifi 是否打开/关闭?
我的应用程序使用蓝牙或 Wifi 与其他设备通信。我们对这些通信没有问题,但如果 Wifi 和/或蓝牙关闭(当用户正在使用应用程序时),我们想通知用户。我无法在 Swift 中做到这一点。
<分区>
我们如何使用 Swift 语言确定蓝牙或 Wifi 是否打开/关闭?
我的应用程序使用蓝牙或 Wifi 与其他设备通信。我们对这些通信没有问题,但如果 Wifi 和/或蓝牙关闭(当用户正在使用应用程序时),我们想通知用户。我无法在 Swift 中做到这一点。
最佳答案
对于 iOS 中的蓝牙,您有 CBPeripheralManager(在 CoreBluetooth 框架中)。要检查蓝牙连接,您将您的类声明为 CBPeripheralManager 的委托(delegate),然后创建一个局部变量:
var myBTManager = CBPeripheralManager(delegate: self, queue: nil, options: nil)
然后,您的类必须实现回调以在启用或禁用蓝牙时得到通知。下面的代码是从我的 Beacon 管理器项目中提取的
//BT Manager
func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager!) {
println(__FUNCTION__)
if peripheral.state == CBPeripheralManagerState.PoweredOn {
println("Broadcasting...")
//start broadcasting
myBTManager!.startAdvertising(_broadcastBeaconDict)
} else if peripheral.state == CBPeripheralManagerState.PoweredOff {
println("Stopped")
myBTManager!.stopAdvertising()
} else if peripheral.state == CBPeripheralManagerState.Unsupported {
println("Unsupported")
} else if peripheral.state == CBPeripheralManagerState.Unauthorized {
println("This option is not allowed by your application")
}
}
对于 Wifi,看看这个 Github:https://github.com/ashleymills/Reachability.swift
关于swift - 检测用户是否打开或关闭 Wifi 或蓝牙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075198/