Итак, я написал статистический трекер для катания на лыжах / сноуборде, который отлично работал в прошлом сезоне.В этом сезоне мне труднее всего поддерживать приложение в живых, хотя я настроен на получение фоновых обновлений местоположения.
Вот некоторые из задач, которые выполняются в фоновом режиме на таймерах:
-Парсинг массивов / словарей и выполнение вычислений
-Прием и отправка данных в firebase
-Запись данных в CoreData
Пока у меня есть сигнал сотовой связи, у меня лучшешанс остаться в живых, но без гарантии.
Что-то изменилось в iOS 12 против 11?
Вот мой код для запуска обновлений местоположения:
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.activityType = .other
locationManager.allowsBackgroundLocationUpdates = true
locationManager.pausesLocationUpdatesAutomatically = false
locationManager.showsBackgroundLocationIndicator = true
locationManager.startUpdatingLocation()
Я пробовалlocationManagerDidPauseLocationUpdates для перезапуска обновлений местоположения, если iOS попыталась уничтожить его, изменив тип действия, изменив точность, кажется, что ничего не работает, хотя изменение типа действия на другой действительно увеличило количество времени до того, как приложение умрет, поэтому я думал, что locationManagerDidPauseLocationUpdates перезапустит его, нобез кубиков.
Любые другие идеи о хранении вещейжив во время записи?
edit: я также пытался проверить утечки памяти
edit2: добавлен снимок экрана info.plist
![enter image description here](https://i.stack.imgur.com/zUHSb.png)