stopUpdatingLocation在iOS 7中不起作用

时间:2013-09-25 16:35:10

标签: iphone ios objective-c ipad ios7

我开发了iPhone和iPad。适用于iOS 5和iOS 6的iPad应用程序

在该应用程序中,我使用CLLocationManager.

抓取了用户当前位置

当我想停止更新接收GPS坐标时。我打电话给stopUpdatingLocation

停止调用didUpdateToLocation方法的方法。在iOS 5和6中它完全没问题但不幸的是它不适用于iOS 7。

似乎stopUpdatingLocation方法无效。任何特殊原因。 ??

我有一个变量来监视didUpdateToLocation方法的生命周期并停止执行它。

2 个答案:

答案 0 :(得分:0)

有一件事可能是,

您在地图上移动的当前位置蓝点是因为您将MKMapView的showsUserLocation设置为YES。它将跟踪,直到您将其设置为NO。

第二件事,

你可能会设置下面的东西停止调用该方法

locationManager = nil;

这不会停止监控,但它会做什么,而不是引用位置管理器,所以现在它不可能停止监控。

而是添加以下代码&然后看看会发生什么

[locationManager stopUpdatingLocation];
locationManager=nil;

希望有所帮助......

答案 1 :(得分:-1)

@tdevoy - 这是样本

  - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *location = [locations lastObject];
    latitude = location.coordinate.latitude;
    longtitude = location.coordinate.longitude;

    //stops updating current user location update
        [locationManager stopUpdatingLocation];

}