Swift 检测用户是否打开或关闭Wifi或蓝牙

Swift 检测用户是否打开或关闭Wifi或蓝牙,swift,bluetooth,wifi,Swift,Bluetooth,Wifi,我们如何确定是否使用Swift语言打开/关闭了蓝牙或Wifi 我的应用程序使用蓝牙或Wifi与其他设备通信。我们对这些通信没有问题,但我们希望通知用户Wifi和/或蓝牙是否已关闭(当用户使用应用程序时)。我没能用斯威夫特做到这一点 对于iOS中的蓝牙,您有CBPeripheralManager(在CoreBluetooth框架中)。要检查蓝牙连接,请将类声明为CBPeripheralManager的委托,然后创建一个局部变量: var myBTManager = CBPeripheralMana

我们如何确定是否使用Swift语言打开/关闭了蓝牙或Wifi


我的应用程序使用蓝牙或Wifi与其他设备通信。我们对这些通信没有问题,但我们希望通知用户Wifi和/或蓝牙是否已关闭(当用户使用应用程序时)。我没能用斯威夫特做到这一点

对于iOS中的蓝牙,您有CBPeripheralManager(在CoreBluetooth框架中)。要检查蓝牙连接,请将类声明为CBPeripheralManager的委托,然后创建一个局部变量:

var myBTManager = CBPeripheralManager(delegate: self, queue: nil, options: nil)
然后,您的类必须实现回调,以便在启用或禁用蓝牙时引起注意。下面的代码摘自我为Beacon manager设计的项目

//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:

事实上,如果我们能够访问系统设置并阅读当前设置,现在有CocoaPod支持就太好了。这个API现在已经被弃用了。请立即使用CBCentralManagerDelegate@AshleyMills。“Reachability.swift”有蓝牙检测吗?@mustaq没有。它与苹果的Objective-C可达性库具有相同的基本功能