Продолжайте записывать маршрут, который пользователь ведет с помощью MapBox SDK, даже если приложение работает в фоновом режиме - PullRequest
1 голос
/ 16 января 2020

Я работаю над приложением, в котором пользователь может «записать» маршрут, по которому он / она едет на своей машине. Каждые 1 се c мы сохраняем координаты в списке и каждые 30 секунд мы также сохраняем координаты в базе данных для этого, но это работает только тогда, когда приложение активно / на переднем плане.

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

В приложении я использую Mapbox Maps SDK и Mapbox Navigation SDK. addCoor () -функция дает мне координату пользователя с помощью self.mapView.userLocation! .Coordinate и управляет тем, что каждая координата добавляется к массиву в viewcontroller и что каждый 30 секунд выполняется HTTP POST для добавления координаты в базу данных.

Итак, я хочу, чтобы addCoor () работала, даже когда пользователи отправляют приложение в в фоновом режиме, до тех пор, пока пользователь сам не остановит отслеживание, нажав кнопку «Стоп» в приложении или достигнув максимальной точки маршрута. В этот момент я хочу вызвать stopTracking () , чтобы маршрут был завершен.

В качестве дополнения я также хочу, чтобы при запуске приложения в фоновом режиме появлялись уведомления который позволяет пользователю открыть приложение и сразу же вызывает stopTracking () , когда они щелкают уведомление.

Любой, кто имеет опыт работы с фоновыми задачами в swift. Любая помощь приветствуется!

...