我有一个应用程序,使用核心位置。它主要用于iPad,但它在iPhone上工作。我想使用GPS,但我不想经常更新。我把它设为:
locationManager = [[CLLocationManager alloc] init] ;
locationManager.delegate = self ;
locationManager.desiredAccuracy = kCLLocationAccuracyBest ; // Enable GPS
locationManager.distanceFilter = 1000 ; // One Kilometer一些在iPhone 4上运行应用程序的人抱怨说,当应用程序运行时,它会变得很热。他们的意思是坐在桌子上就会变热。
在我们的iPhone 5上,我们没有看到任何差别。事实上,我们看到任何事情都没有发生。在调试器中,我们没有看到GPS更新(正如我们预期的那样),因为我们没有移动。
我预计iPad应用程序将在没有无线网络和手机的地方使用。我不想让它去找手机或者无线网络。同时,我也能活在1000英寸的精确度里。
发布于 2014-05-27 15:19:46
我建议你降低你的精度过滤器,我会把它们设置为
self.locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
self.locationManager.distanceFilter = 500.0f;如果1000米的距离不是硬核要求,那么我会选择startMonitoringSignificantLocationChanges而不是startUpdatingLocation.。因为startMonitoringSignificantLocationChanges通常出现在1000米-2000米的距离之后。它在iPhone上运行得很好,我不确定iPad (没有蜂窝无线电),因为我认为它依赖于无线网络和蜂窝塔。
谈到iPhone 4和5的比较,与iPhone 4(特别是4s)相比,iPhone 4(特别是4s)变得非常热门。我在基于位置的应用程序上工作了大约3年,并在过去的时间里学到了这些技巧。
https://stackoverflow.com/questions/23316244
复制相似问题