Метод определения местоположения iphone startMonitoringSignificantChanges не работает - PullRequest
1 голос
/ 26 ноября 2010


я разрабатываю приложение для iphone, используя iOS 4.2 SDK.
Моему приложению необходимо выдать предупреждение, когда пользователь прибывает в определенное место (в радиусе 400 м). Обратите внимание, что мне нужно получить это предупреждение, даже если приложение находится на фоне .
Когда я использую locationManager с режимом startUpdatingLocation , я получаю предупреждение, когда приложение находится на переднем плане, но не когда оно на заднем плане.
Когда я пытаюсь запустить с locationManager с режимом startMonitoringSignificantChanges , я не получаю никаких изменений положения в фоне и даже не на переднем плане (то есть метод didUpdateLocation никогда не вызывается. Только один раз при запуске приложения)
некоторые факты:
1. Я обновил info.plist с UIBackgroundMode, указав в качестве первого элемента массива 'location'.
2. Я обновил info.plist UIDeviceCapabilities с помощью gps и location-services (хотя это на самом деле не имеет значения)
3. все вышеперечисленное относится к запуску этого приложения на устройстве iPhone 3GS.
4. Я попробовал это приложение на SDK 4.0 и 4.1 и получил ту же проблему.
5. Устройство поддерживает использование startMonitoringSignificantChanges (метод locationManager подтверждает это)
6. Когда я проверяю приложение на устройстве, я перемещаюсь в диапазоне ~ 150 метров. Является ли startMonitoringSignificantChanges вызывать метод didUpdateLocation с таким типом движения?
7. Все настройки на устройствах включены (режим роуминга, 3G, Wi-Fi, ...)

Я что-то пропустил? есть идеи?
Спасибо,

1 Ответ

0 голосов
/ 08 июля 2011

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

и упомянутый пример проекта: http://www.cannonade.net/blog.php?id=1480

...