2015-10-14 2 views
0

В службе значительного изменения местоположения я использовал метод «startMonitoringSignificantLocationChanges», но он возвращает только кэшированное местоположение, он не возвращает обновленную информацию о местоположении. Я использовал язык Swift.StartMonitoringSignificantLocationChanges метод не возвращает местоположение

+0

Вы можете попробовать следующую ссылку: http://stackoverflow.com/questions/11697730/cllocationmanager-startupdatinglocation-not-working –

ответ

0

Предполагая, что вы держите ссылку на свой объект управления местоположением, убедитесь, что вы звоните locationManager.requestAlwaysAuthorization() для startMonitoringSignificantLocationChanges, чтобы нормально функционировать.

EDIT:

От Apple Documentation:

Независимо от того, какое место службы вы используете, данные о местоположении сообщается в ваше приложение через соответствующий объект делегата менеджера для адреса. Поскольку для возврата начального местоположения может потребоваться несколько секунд, диспетчер местоположений обычно доставляет ранее данные кэширования данных и затем предоставляет более современные данные местоположения по мере их появления. Поэтому всегда стоит отметить отметку времени любого объекта местоположения, прежде чем принимать любые действия . Если обе службы определения местоположения включены одновременно, они доставляют события, используя тот же набор методов делегата.

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

+0

okay.Я использую locationManager.requestAlwaysAuthorization() only.but, это возвращает только кэшированное местоположение. FYI - Я проверяю симулятор ios. –

+0

Документация Per Apple, получение кэшированного местоположения является допустимым случаем. Пожалуйста, взгляните на мое обновленное сообщение. – Abhinav

+0

можно проверить в ios simulator? –

Смежные вопросы