我使用CLLocationManager获取用户的位置,代码如下:
if([CLLocationManager significantLocationChangeMonitoringAvailable]){
if(locationManager==nil)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startMonitoringSignificantLocationChanges];
}
else {
if(locationManager==nil)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 200.0;
[locationManager startUpdatingLocation];
}
当app lanuched并开始定位时,委托方法didUpdateLocations确实调用了 . 我得到坐标后,我停止了位置,代码如下:
if([CLLocationManager significantLocationChangeMonitoringAvailable]){
[locationManager stopMonitoringSignificantLocationChanges];
}
else {
[locationManager stopUpdatingLocation];
}
因为需要做其他任务,我使用上面的代码重启位置 . 然后委托方法(didUpdateLocations)永远不会得到回调 . iOS7和iOS6中存在此问题 . 我做错了什么?谢谢 .