Как узнать, когда извлекать подключенное устройство, когда приложение находится в фоновом режиме и подключено первым в системе ios? - PullRequest
0 голосов
/ 15 ноября 2018

Наше устройство BLE использует ANCS и подключается как периферийное устройство в приложении ios. Моя проблема возникает в том случае, когда часы сначала подключаются на экране настроек, а затем не отображаются на сканируемом устройстве, поэтому они не подключаются, когда приложение находится в фоновом режиме, потому что оно подключается за пределами приложения, по причине того, что iphone связан с современным устройством. Хотя я могу получить его, используя retrievePeripheral function . Но он должен быть запущен вручную, я ищу какую-то функцию наблюдателя или делегата, которая вызывается, когда устройство BLE вызывается через систему, чтобы я мог получить периферийные устройства. Как подключиться, когда приложение работает в фоновом режиме, а сначала подключено устройство в настройках? Одно из решений, о котором я подумал, - запустить таймер, который будет вызывать эту функцию retrievePeripheral через фиксированный интервал, но это потребляет батарею. Если у кого-нибудь есть идея получше, пожалуйста, просветите меня.

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

1 Ответ

0 голосов
/ 27 марта 2019

Похоже, мне не нужно сканировать устройство, как только оно обнаружено, подключено и успешно сопряжено.В функции didDisconnect я извлекаю устройство ble и отправляю запрос на подключение См. , эта функция не отключается по времени.Всякий раз, когда устройство BLE попадет в диапазон, оно будет подключено.

...