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