我开发了iPhone和iPad。适用于iOS 5和iOS 6的iPad应用程序
在该应用程序中,我使用CLLocationManager.
当我想停止更新接收GPS坐标时。我打电话给stopUpdatingLocation
停止调用didUpdateToLocation
方法的方法。在iOS 5和6中它完全没问题但不幸的是它不适用于iOS 7。
似乎stopUpdatingLocation
方法无效。任何特殊原因。 ??
我有一个变量来监视didUpdateToLocation
方法的生命周期并停止执行它。
答案 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];
}