IBAction仅在首次启动时获得Core Location位置

时间:2014-05-20 09:26:17

标签: ios core-location ibaction

我有一个按钮,当你按下它时,你就会得到这个位置。它仅适用于初始启动,而不适用于后续使用。代码

- (IBAction)getLocationCoordinates:(UIButton *)sender {
if ([CLLocationManager locationServicesEnabled]) {
    self.locationManager = [[CLLocationManager alloc]init];
    self.locationManager.delegate = self;
    [self.locationManager startUpdatingLocation];
}


}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{

CLLocation *location = [locations lastObject];
[self.locationManager stopUpdatingLocation];
NSLog(@"%f %f", location.coordinate.longitude, location.coordinate.latitude);
self.locationProperty = location;

}

1 个答案:

答案 0 :(得分:0)

如果位置没有重大变化(不移动),您将无法从didUpdateLocation获取新位置。

我在iOS 7的前台和后台都有详细的完整位置更新解决方案,您可以访问:Background Location Services not working in iOS 7了解更多详情。

该链接将引导您在Github上找到完整的解决方案,还有一个详细的博客文章。