如何关闭位置服务?

时间:2010-05-31 16:02:30

标签: iphone objective-c cocoa-touch cllocationmanager

如果用户启用了位置服务,我将我的RootController指定为其委托:

appDelegate.clLocationManager.delegate = self;

其中appDelegate是我的应用程序委托的实例,这是我拥有位置服务实例的地方。 clLocationManager是CLLocationManager的一个实例。如果我发现用户不在某个区域,我想禁用位置服务代表。我这样做:

appDelegate.clLocationManager.delegate = nil;

但是这种方法仍然存在:

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

是否有其他方法可以禁用位置服务或至少保持其方法不被触发?

1 个答案:

答案 0 :(得分:2)

是的,您需要告诉它停止更新位置:

[appDelegate.clLocationManager stopUpdatingLocation];

之后你也可以发布它。

有关详细信息,请参阅the documentation