iOS: Homekit - Как определить, включена ли услуга Bluetooth и WiFi на устройстве или нет?

Домашнее приложение показывает ниже предупреждение, когда мы пытаемся добавить аксессуар.

Я также использовал фреймворк HomeKit в своем приложении и хочу показать предупреждение, когда пользователь пытается добавить аксессуар.

Какие изменения мне нужно сделать, чтобы отобразить одно и то же предупреждение в приложении?

Скриншот домашнего приложения

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

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

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