Обнаружение, включен или выключен 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