Это - код, который я имею в своем Классе AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = 1000; // 1 Km
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
[locationManager startUpdatingLocation];
}
И это - метод делегата, который я имею в своем Классе AppDelegate
//This is the delegate method for CoreLocation
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
//printf("AppDelegate latitude %+.6f, longitude %+.6f\n", newLocation.coordinate.latitude, newLocation.coordinate.longitude);
}
Его работа в 3,0, 3.1, 3.1.3, но его не работа в 4,0 средствах моделирования и устройстве оба.
Какова причина?
Вызывается ли -locationManager:didFailWithError:
в вашем делегате? Я просто думаю, может вы в какой-то момент запретили доступ к данным о местоположении и теперь не получаете запрос, но доступ запрещен.
Вы уверены, что не деаллоцируете менеджер размещения где-то? В вашем коде видно, что он выделяется в методе didFinishLaunching..., но затем о нем забывают (хотя он все еще сохраняется и поэтому должен работать).
Видите ли вы вообще это начальное всплывающее окно, спрашивающее, можно ли получить местоположение пользователя?