В mapView (locationManager указывает на объект в AppDelegate)
способ получать фоновое обновление местоположения каждые n минут в моем приложении для iOS. Я использую iOS 4.3, и решение должно работать для iPhone без джейлбрейка.
Я пробовал / рассматривал следующие варианты:
CLLocationManager startUpdatingLocation/startMonitoringSignificantLocationChanges
: Это работает в фоновом режиме, как и ожидалось, на основе настроенных свойств, но кажется невозможным принудительно обновлять местоположение каждые n минутNSTimer
: Работает, когда приложение работает на переднем плане, но, похоже, не предназначено для фоновых задачЛокальные уведомления: Локальные уведомления могут планироваться каждые n минут, но невозможно выполнить некоторый код для получения текущего местоположения (без необходимости запуска приложения через уведомление). Этот подход также не выглядит чистым, так как это не то, для чего следует использовать уведомления.UIApplication:beginBackgroundTaskWithExpirationHandler
Насколько я понимаю, это следует использовать для завершения некоторой работы в фоновом режиме (также ограниченной по времени), когда приложение перемещается в фоновый режим, а не для реализации «длительных» фоновых процессов.Как я могу реализовать эти регулярные фоновые обновления местоположения?