Делегат CLLocation Manager не вызывается в iPhone OS 4.0 - PullRequest
1 голос
/ 06 июля 2010

Я должен запустить свое приложение в iPhone OS 4.0. (в симуляторе).

-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self newLocationUpdate];
}

-(void)newLocationUpdate
{
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];

}

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation 
{
    [locationManager stopUpdatingLocation];
}

В этом методе делегата CLLocationManager не вызывается. какие изменения мы должны сделать, чтобы вызывался метод делегата?

1 Ответ

3 голосов
/ 24 июля 2010

Я подозреваю, что ваш экземпляр locationManager преждевременно освобождается.

Это собственность? Если это так, то измените с:

locationManager = [[CLLocationManager alloc]] init];

до:

self.locationManager = [[CLLocationManager alloc] init];

и убедитесь, что объект объявлен:

@property (nonatomic, retain) CLLocationManager * locationManager;

И не забудьте выпустить его позже, где это уместно.

...