Фон
У меня есть приложение для iOS, которое сканирует устройства BLE в фоновом режиме.Это работало хорошо, пока я не обновился до iOS12.Вот что у меня есть:
- Приложение настроено для работы в фоновом режиме (например, расположение и bluetooth-центральные клавиши в .plist)
- Приложение должно работать непрерывно в фоновом режиме, сканированиедля периферии.Это не следует путать с Background Fetch, который является другим вариантом использования.
- Приложение не подключается к периферийным устройствам.Он читает только рекламные пакеты.
- Приложение приостанавливается после нескольких часов работы в фоновом режиме.
- Приложение возобновляет нормальную работу при выходе на передний план
- Приложение работает правильнов iOS 11. Проблемы начались после обновления до iOS 12.x
Я поместил сообщения журнала в методы делегата приложения.Это последнее, что я вижу, это приложение, входящее в Background State.Я никогда не вижу вызов applicationWillTerminate()
, так как он вызывается только когда приложение находится на переднем плане.
Я видел другие сообщения (например, iOS 12 закрывает приложения в фоновом режиме без причины ) для аналогичного поведения со стеком Location.Используя тестовое приложение, написанное автором поста, я убедился, что проблема была исправлена в iOS 12 для Location Services.Но проблемы с BLE сохраняются.
Кто-нибудь нашел решение этой проблемы?
заранее спасибо.