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

StackOverflow https://stackoverflow.com/questions/2817195

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Добавлять

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

В вашей info.plist. Подробнее: Uibackgroundmodes.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top