Устройство iOS BLE сопряжено, когда приложение находится в фоновом режиме, или оно отключено или приостановлено - PullRequest
0 голосов
/ 14 ноября 2018

Я могу подключить / подключить устройство BLE к своему приложению, пока приложение открыто. Но когда мое приложение переходит в фоновый / приостановленный режим, я не могу поддерживать соединение. Можно ли сохранить соединение в активном состоянии и получить уведомление о событии отключения для устройства?

Ответы [ 3 ]

0 голосов
/ 14 ноября 2018

Конечно, это так.
Перво-наперво: вы можете сканировать периферийные устройства и подключаться к ним в фоновом режиме, если они предоставляют хотя бы одну службу (эта служба должна быть указана при запуске команды сканирования). Вы должны указать это в своих целевых возможностях, просто проверив Uses Bluetooth LE accessories.
Для обнаружения отключения Bluetooth вам просто нужно реализовать метод CBCentralManagerDelegate func centralManager(CBCentralManager, didDisconnectPeripheral: CBPeripheral, error: Error?).
Соединение поддерживается в фоновом режиме, пока ваше периферийное устройство не требует сигнала keep alive , если вам необходимо выполнить некоторые операции в фоновом режиме, требуется проверка Uses Bluetooth LE accessories.
Чтобы упростить работу с BLE, я предлагаю вам проверить эту библиотеку .

0 голосов
/ 20 ноября 2018

Для поддержки Core-Bluetooth в режиме ожидания / фоновом режиме Включите приложение для поддержки фонов.

Перейти к своему проекту -> Цель -> Возможности -> Включить режимы фона -> Выбрать Использовать аксессуары Bluetooth LE.

Но система iOS может в любое время убить ваше фоновое приложение, чтобы освободить память для приложения переднего плана.

Для получения подключенных / отключенных событий используйте следующую строку кода.

central.connect(peripheral, options: [CBConnectPeripheralOptionNotifyOnConnectionKey:true, CBConnectPeripheralOptionNotifyOnDisconnectionKey: true])
0 голосов
/ 14 ноября 2018

Для фоновых приложений есть ограничения. Не все функции могут быть использованы в фоновом режиме. Затем вы отправляете заявку на модерацию с необоснованными фоновыми функциями у вас не получится.

  • Приложения, которые воспроизводят звуковой контент для пользователя в фоновом режиме, например, приложение музыкального плеера
  • Приложения, которые записывают аудиоконтент, находясь в фон
  • Приложения, которые держат пользователей в курсе их местоположения на всех раз, например, навигационное приложение
  • Приложения, поддерживающие передачу голоса через Интернет Протокол (VoIP)
  • Приложения, которые должны загружать и обрабатывать новый контент регулярно
  • Приложения, которые регулярно получают обновления от внешних аксессуаров

Здесь вы найдете более подробное описание. Может быть, ваш случай - это «Приложения, которые регулярно получают обновления от внешних аксессуаров» с режимом «Действует как аксессуар Bluetooth LE».

В Google также вы найдете много информации.

...