Почему моему делегату CLLocationmanager не звонят?

Я не получаю обратных вызовов местоположения ни на SIM-карте, ни на устройстве. У меня вызывается этот код:

- (void)startLocationCallbacks: (NSObject*) ignore
{
  locationManager.delegate = self;
  locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
  locationManager.distanceFilter = MINIMUM_METERS;

  [locationManager startUpdatingLocation];
  NSLog(@"[DEBUG] [locationManager startUpdatingLocation] (%@, %@)", locationManager, locationManager.delegate);
}

и операторы журнала в верхней части обоих

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

и

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

, но ни один оператор журнала никогда не вызывается. Уведомления о местоположении включены для моего приложения (как показано в Настройках, плюс я сказал «разрешить»).

Каковы некоторые возможные причины, по которым я не получаю обновления местоположения?

Конфигурация / другая информация:

  • Я назначили locationManager и сохранили его в свойстве сохранения.
  • Я вызвал startUpdatingLocation
  • Я использую SDK 4.1
  • Проблема есть как на Sim, так и на iPod-touch (2-го поколения) и iPhone-3, все работает 4.1
  • Уведомления о местоположении разрешены в моем приложении (как указано в настройках, так и потому, что я щелкнул «разрешить» в предупреждении).
  • Я ' Раньше я успешно использовал CLLocationManager (во многих приложениях для доставки!).

Спасибо!

20
задан Olie 17 September 2010 в 00:24
поделиться