Я пишу приложение на основе местоположения для iOS 5. Приложение использует CLLocationManager
для получения обновлений Местоположения.
Когда приложение запущено, я создаю LocationManager, вызываю [self.locationManager startUpdatingLocation];
, и в строке состояния появляется серая стрелка местоположения.
Когда приложение переходит в фоновый режим, я звоню
[self.locationManager stopUpdatingLocation];
[self.locationManager startMonitoringSignificantLocationChanges];
, потому что я просто хочу получать значительные изменения местоположения, пока приложение находится в фоновом режиме.Серая стрелка местоположения по-прежнему отображается.
У меня также есть кнопка выхода в моем приложении, куда я звоню
[self.locationManager stopUpdatingLocation];
exit(0);
Когда пользователь нажимает кнопку выхода, приложение завершает работу, а серыйкнопка местоположения исчезает из строки состояния.Все хорошо до сих пор.
Появляется проблема, когда пользователи заканчивают приложение, используя Fast App Switcher, потому что после этого серая стрелка местоположения все еще отображается в строке состояния, хотя приложение не работает.Серая стрелка местоположения сначала исчезает, когда пользователь удаляет приложение из своего iPhone.
Итак, вопросы:
Когда пользователи заканчивают приложение, используя Fast App Switcher, и серая стрелка все еще отображается в строке состоянияозначает ли это, что обновления местоположения все еще выполняются или это означает, что приложение использовало службы определения местоположения в течение последних 24 часов?Я предполагаю, что ответ - первый, обновления местоположения все еще выполняются!
Приложение должно выполняться в фоновом режиме, поэтому я не могу остановить LocationManager, когда приложение входит в фоновый режим.applicationWillTerminate:
никогда не вызывается, когда пользователь убивает приложение с помощью Fast App Switcher.Есть ли способ получить событие, когда приложение завершается с помощью Fast App Switcher или завершается операционной системой ????
Я видел некоторые другие приложения, гдесерая стрелка в строке состояния исчезает при удалении приложения с помощью Fast App Switcher.Как эти приложения достигают этого ???