2012-12-20 39 views
-2

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

这里我用的代码见下面

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); 
} 

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

+1

多少经常做,除了你的位置要更新这个问题呢? –

+0

在模拟器didUpdateToLocation委托方法重复调用,但在设备中,只有当应用程序启动它更新4或5次。之后不更新可以帮助我 – dineshprasanna

回答

0

这里我解决了使用该委托的方法

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

如果您正在使用定位精度为“kCLLocationAccuracyBestForNavigation”,您的设备应保持插入。

更好地将它设置为“kCLLocationAccuracyBest”。也搬到显著距离命中委托。最初它会打4-5次找到你。一旦你的位置是确定的,它会调用该委托时会出现在你的位置变化。

所以,在委托写在文件的东西存储在文件目录中追加模式。日志纬度/经度和时间细节进去。现在移动一段距离。

加入移动,并从文件目录中的文件。它必须记录所需的详细信息。

相关问题