1

アプリを 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 デリゲート メソッドでは、呼び出されません。デリゲート メソッドが呼び出されるようにするには、どのような変更を加える必要がありますか?

4

1 に答える 1

3

「locationManager」インスタンスが時期尚早にリリースされているのではないかと思います。

それは財産ですか?その場合は、次のように変更します。

locationManager = [[CLLocationManager alloc]] init];

に:

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

プロパティが宣言されていることを確認します。

@property (nonatomic, retain) CLLocationManager * locationManager;

また、必要に応じて、後でリリースすることを忘れないでください。

于 2010-07-23T22:52:16.610 に答える