O CLLocationManager não funciona o tempo todo (iOS 8, Xcode 6)

Basicamente metade do tempo que o método delegado

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;

não é chamado de todo. Mas na outra metade do tempo funciona perfeitamente! Descobri que isso geralmente acontece quando eu inicio o Xcode depois de fechar e sair, mas depois disso ou algumas vezes depois parece que está funcionando bem. Não tenho 100% de certeza se é apenas um problema do Xcode ou o quê, estarei recebendo uma licença de desenvolvedor em breve, para ver se funcionará bem em um dispositivo real.

A partir do viewDidAppear (tentado no viewDidLoad também, não fez diferença), eu executo um método para iniciar minhas coisas locationManager:

locationManager = [[CLLocationManager alloc]init];

[locationManager setDelegate:self];
locationManager.distanceFilter = 20.0f;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.pausesLocationUpdatesAutomatically = NO;

if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
    [locationManager requestAlwaysAuthorization];

[locationManager startUpdatingLocation];

Às vezes isso funciona, às vezes não. Eu até criei um cronômetro para repetir isso a cada mais ou menos segundos, e isso não funciona.

Há algo mais que devo fazer? Existe alguma resposta para esse problema?

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion