title: CLAuthorizationStatus returning kCLAuthorizationStatusNotDetermined despite being authorised
body: <p>I'm having some bother with an authorisation state here I'm not certain what's going on.</p>
  
  <pre><code> if(sender.on == TRUE)
  {
      [self.locationManager startUpdatingLocation];
      [self.locationManager startUpdatingHeading];
  
      CLAuthorizationStatus authStatus = [CLLocationManager authorizationStatus];
      bool headingStatus = [CLLocationManager headingAvailable];
  
      if( !(authStatus == kCLAuthorizationStatusAuthorized))
      {
          [self processFailedAuthorization:authStatus];
          [locationManager stopUpdatingHeading];
          [locationManager stopUpdatingLocation];
          sender.on = FALSE;
  
      }
  </code></pre>
  
  <p>It seems that authStatus is sometimes showing as <code>kCLAuthorizationStatusNotDetermined</code> despite having just prompted the user for authorisation.</p>
  
  <p>I've stepped through the code in a debugger and it seems that if I wait for a small period of time before checking <code>CLAuthorizationStatus</code> then it does come back as authorised, whereas if I check immediately then it does not.</p>
  
  <p>I know I could just wait for a second or so and then carry on, but there is nothing in the documentation about a delay being required.</p>
  
  <p>What's going on?</p>