Я разрабатываю приложение iOS (7.0+) для фитнеса (бега), которое использует местоположение пользователя GPS, выполняет небольшой расчет и передает данные на часы Bluetooth Low Energy (4.0). Этот процесс должен происходить в фоновом режиме, даже когда пользователь блокирует свое устройство iOS.
Я также реализовал следующие фоновые режимы:
App communicates using CoreBluetooth
App registers for location updates
Мне удалось заставить все работать хорошо, за исключением того, что через определенное время (например, 2 часа), когда устройство заблокировано, устройство iOS перестает обновлять местоположение, потому что я вижу, что оно больше не отправляет обновление Значения GPS для часов Bluetooth. Затем мне нужно разблокировать устройство, снова открыть приложение, и службы определения местоположения снова работают должным образом.
Кто-нибудь знает, как поддерживать работу служб определения местоположения все время в фоновом режиме (устройство заблокировано) без внезапной остановки обновлений местоположения через определенное время? Если возможно, предпочтение отдается эффективному решению, которое не разряжает аккумулятор слишком сильно, по сравнению с обычным использованием GPS.
pausesLocationUpdatesAutomatically
наfalse
, то он не остановится - person Honey   schedule 23.09.2018