Почему делегат CLLocationManager не становится позвонившим в iPhone SDK 4.0?

Это - код, который я имею в своем Классе 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 средствах моделирования и устройстве оба.

Какова причина?

12
задан RedBlueThing 11 August 2010 в 06:07
поделиться

2 ответа

Вызывается ли -locationManager:didFailWithError: в вашем делегате? Я просто думаю, может вы в какой-то момент запретили доступ к данным о местоположении и теперь не получаете запрос, но доступ запрещен.

2
ответ дан 2 December 2019 в 06:25
поделиться

Вы уверены, что не деаллоцируете менеджер размещения где-то? В вашем коде видно, что он выделяется в методе didFinishLaunching..., но затем о нем забывают (хотя он все еще сохраняется и поэтому должен работать).

Видите ли вы вообще это начальное всплывающее окно, спрашивающее, можно ли получить местоположение пользователя?

0
ответ дан 2 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: