CLLocationManager仅在模拟器上不在设备上更新

时间:2012-12-20 12:41:51

标签: objective-c ios cllocationmanager cllocation mkmapview

这里我们必须通过使用位置管理器更新当前位置,并在模拟器上正确更新,但它只在设备上更新4或5次才重复。为什么位置不经常更新,请帮我解决这个问题问题

这里我使用的代码如下所示

CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
    [locationManager startUpdatingLocation];

委托方法:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{

    NSLog(@"newLocation: %@",newLocation);
}

这是委托方法调用四到五次。

2 个答案:

答案 0 :(得分:0)

如果您使用位置准确度为“kCLLocationAccuracyBestForNavigation”,则您的设备应保持插入状态。

最好将其设为“kCLLocationAccuracyBest”。也移动到相当远的距离来击中代表。最初它会达到4-5次来找到你。一旦您的位置被识别,它将在您的位置发生变化时致电代表。

因此,在委托中以附加模式在文件目录中存储文件。将lat / long和Time详细信息记录到其中。现在移动一段距离。

加入移动设备并从文档目录中获取文件。它必须记录所需的详细信息。

答案 1 :(得分:0)

在这里,我使用此委托方法解决了这个问题

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