Я пытаюсь реализовать отслеживание местоположения, которое работает, даже если пользователь принудительно закрывает приложение, аналогично таким приложениям, как Google Maps или Life360.
Что я реализовал:
- Включено Фон Режимы
Обновление местоположения - Фоновая выборка
[*]Реализовано Значительное изменение местоположения Мониторинг
[*]Перенесено примерно на 2 км для запуска обновлений
[*]Добавлен вход в приложение (_:didFinishLaunchingWithOptions:):
Код: Выделить всё
if launchOptions?[.location] != nil {
// Expected to be called when app is relaunched due to a location event
}
Когда пользователь принудительно завершает приложение:
- Приложение не перезапускается
- не вызывается
Код: Выделить всё
didFinishLaunchingWithOptions - Никаких существенных обратных вызовов для изменения местоположения не получено
- На переднем плане
- В фоновом режиме
Но не после принудительное завершение.
- Это ожидаемое поведение iOS, когда приложение принудительно закрывается пользователем?
- Может ли iOS перезапустить приложение при значительных изменениях местоположения после принудительного завершения?
- Как такие приложения, как Google Maps или Life360, отслеживают местоположение в этом состоянии?
- Является ли Location Push Service (iOS 17+) единственным поддерживаемым решением для этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ation-mode
Мобильная версия