title: run CLLocation through out app life cycle
body: <p>Can I turn on location services and keep them running globally instead of having to turn it on in every UIViewController? I know it's not power efficient, but I would like location services to be running throughout the app instead of turning them on in each controller. One reason is I found that when I do <code>locationManager.startUpdatingLocation</code> the location is initially less accurate and then converges to a more accurate position.</p>
  
  <p>Ideally: it would work like:</p>
  
  <pre><code>class AppDelegate: UIResponder, UIApplicationDelegate {
  
      let locationManager = CLLocationManager()
  
      func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -&gt; Bool {
          /// LOCATION MANAGER
          locationManager.desiredAccuracy = kCLLocationAccuracyBest
          locationManager.requestWhenInUseAuthorization()
          locationManager.startUpdatingLocation()
      }
  }
  </code></pre>
  
  <p>And then anywhere in my app I would like to call: </p>
  
  <pre><code>if let location = locationManager.location {
  // get the location info immediately
  }
  </code></pre>
  
  <p>Thanks,</p>