3

ユーザーが位置情報サービスをオンにしている場合、RootController をデリゲートとして割り当てます。

appDelegate.clLocationManager.delegate = self;

ここで、appDelegate はアプリケーション デリゲートのインスタンスで、ここに位置情報サービスのインスタンスがあります。clLocationManager は CLLocationManager のインスタンスです。ユーザーが特定の地域外にいることがわかった場合は、位置情報サービスの委任を無効にしたいと考えています。私はこれをします:

appDelegate.clLocationManager.delegate = nil;

ただし、このメソッドは引き続き起動します。

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

位置情報サービスを無効にする、または少なくともそのメソッドが起動しないようにする別の方法はありますか?

4

1 に答える 1

2

はい、場所の更新を停止するように指示する必要があります。

[appDelegate.clLocationManager stopUpdatingLocation];

その後、リリースすることもできます。

詳細については、ドキュメントを参照してください。

于 2010-05-31T16:05:42.530 に答える