Обнаружение, включен или выключен Wi-Fi или Bluetooth пользователем

Как мы можем определить, был ли Bluetooth или Wifi включен / выключен с помощью языка Swift?

Мое приложение использует Bluetooth или Wifi для связи с другими устройствами. У нас нет проблем с этими коммуникациями, но мы хотели бы сообщить пользователю, если Wi-Fi и / или Bluetooth отключен (когда пользователь использует приложение). Я не смог сделать это в Swift.

1 ответ

Решение

Для Bluetooth в iOS у вас есть CBPeripheralManager (в CoreBluetooth Framework). Чтобы проверить соединение Bluetooth, вы объявляете свой класс делегатом CBPeripheralManager, а затем создаете локальную переменную:

var myBTManager = CBPeripheralManager(delegate: self, queue: nil, options: nil)

затем ваш класс должен реализовать обратный вызов, чтобы вас заметили, когда ваш Bluetooth включен или отключен. Код ниже извлечен из моего проекта, который предназначен для менеджера 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

Другие вопросы по тегам