Подтвердить что ты не робот

GPS-навигатор iOS Multi-Tasking Track

Мне просто интересно, можно ли сделать приложение iOS, которое будет отслеживать ваше местоположение через GPS, пока оно было в фоновом режиме.

Я попробовал это со встроенным приложением "Карты", но безрезультатно.

Если это возможно, было бы здорово, если бы вы могли ссылаться на некоторые примеры кода, документации или учебников!

(если это дубликат, сообщите мне, и я удалю его)

4b9b3361

Ответ 1

Это возможно - см. этот документ для многозадачности вообще и этот раздел руководства по программированию местоположения для "Получение" События местоположения в фоновом режиме". Разумеется, все эти разговоры касаются всех различных способов, которыми устройство iOS может получить ваше местоположение (триангуляция ячеек башни, наблюдение за сетью Wi-Fi в стиле Skyhook и GPS), а не эксклюзивный GPS.

Вкратце, прочитав эти документы: добавьте ключ UIBackgroundModes в свой info.plist, который является массивом, и поместите в него значение "location". Затем вы получите обновления CLLocationManager, даже если они находятся в фоновом режиме.

Однако, если вы хотите быть приятным с батареей, вам лучше использовать метод startMonitoringSignificantLocationChanges в CLLocationManager. Затем вы получаете подходящие значительные обновления местоположения, даже если они находятся в фоновом режиме, не будучи заполненными в фоновом приложении. В других частях документации указано, что значительным изменением является любое изменение с одной башни ячейки на другую.