iPhone принудительно убивает в фоновом режиме с помощью CLLocationManager - PullRequest
0 голосов
/ 18 января 2012

Кто-нибудь знает, как определить, принудительно ли пользователь убил мое приложение, пока оно находится в фоновом режиме? В документации Apple для приложения WillTerminate: метод это говорит так:

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

Из моего тестирования, когда я принудительно убиваю приложение, мое приложение по-прежнему выглядит так, как будто оно отслеживает мое местоположение (стрелка все еще вверху). Но метод делегата cllocationmanager не вызывается до тех пор, пока приложение не будет перезапущено, а менеджер остановлен, а затем снова запущен. Как лучше всего справиться с этой ситуацией, если таковые имеются?

Спасибо!

UPDATE:

После просмотра этого поста: Поведение для существенного изменения API местоположения при прекращении / приостановке?

У меня все еще остается проблема. Потому что я использую метод startUpdatingLocation, а не метод startMonitoringSignificantLocationChanges. Похоже, что приложение перезапускается, только если вы регистрируете значительные изменения. Мне кажется, это что-то вроде взлома, чтобы регистрировать существенные изменения, чтобы я не потерял приложение. Есть идеи?

...