Могу ли я включить службы определения местоположения и поддерживать их работу глобально, вместо того, чтобы включать их в каждом UIViewController? Я знаю, что это не энергоэффективно, но я бы хотел, чтобы службы определения местоположения работали по всему приложению, а не включали их на каждом контроллере. Одна из причин в том, что я обнаружил, что когда я выполняю locationManager.startUpdatingLocation
, то местоположение изначально менее точно, а затем сходится к более точному.
В идеале: оно будет работать следующим образом:
class AppDelegate: UIResponder, UIApplicationDelegate {
let locationManager = CLLocationManager()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
/// LOCATION MANAGER
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
}
}
И тогда в любом месте моего приложения я хотел бы позвонить:
if let location = locationManager.location {
// get the location info immediately
}
Спасибо,