在ios6中,CLLocationManager委托方法:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
已弃用,现在已被替换为:
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations
要获取最后一个位置(最新位置),我们得到阵列上的最后一个对象:
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations{
//[locations lastObject]
}
我使用该方法来监控位置的重大变化:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
if ([CLLocationManager significantLocationChangeMonitoringAvailable]) {
[locationManager startMonitoringSignificantLocationChanges];
}
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations{
//[locations lastObject]
}
因此,当应用程序进入后台时,我开始寻找设备位置的重大变化,但这通常需要一段时间来检测是否已检测到位置更改,对吗?如果应用程序在后台运行并且未检测到位置更改,locationManager:didUpdateLocations:
委托方法将如何表现怎么办?
答案 0 :(得分:0)
只有在位置发生变化时才会调用此委托方法,否则永远不会调用它。