Как получить координаты, когда iPhone заблокирован / спит? - PullRequest
1 голос
/ 12 мая 2010

В обычных ситуациях didUpdateToLocation (из CLLocationManager) больше не работает, когда кнопка блокировки / перехода в спящий режим нажата , и ваше приложение не может получить дополнительные newLocation координаты в течение заблокированного периода.

Однако некоторые приложения МОГУТ отслеживать в течение заблокированного периода, и они покажут правильный маршрут, когда вы разблокируете и увидите MapView. Очевидно, что есть способы получить координаты в течение заблокированного периода.

Как получить координаты, когда iPhone заблокирован / спит?

У кого есть советы и дополнительная информация, пожалуйста, оставляйте. Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 мая 2010

Когда iPhone заблокирован, он (быстро, но не мгновенно) входит в глубокий сон, который останавливает все. Для предотвращения глубокого сна есть хитрость ...

Воспроизведение тихого звука каждые 5 секунд. (Честно!) Установите крошечный тихий файл WAV (или любой другой формат) и воспроизводите его по таймеру. Телефон никогда не перейдет в глубокий сон, и CLLocationManager продолжит функционировать, как и ожидалось.

1 голос
/ 11 октября 2010

Еще один способ сделать это в iOS4 + без использования метода игры-беззвучного звука:

Добавить

<key>UIBackgroundModes</key>
    <array>
        <string>location</string>
    </array>

в вашем info.plist. Для деталей: UIBackgroundModes

...