使用苹果CLLocationManager的位置更新在我的应用程序运行时工作正常。我决定实现Apple文档中描述的MonitorSignificantLocationChanges方法。
这是我的applicationDidEnterBackground方法:
- (void)applicationDidEnterBackground:(UIApplication *)application {
// Switch to significant location change events monitoring
[self.viewController.locationController.locationManager stopUpdatingLocation];
[self.viewController.locationController.locationManager startMonitoringSignificantLocationChanges];
我遇到的问题是,无论我是否startMonitoringSignificantLocationChanges,我的应用程序仍向iOS报告,即使应用程序已从多任务栏中删除,它也在利用位置更新。只需安装应用程序而不运行它就足以让iOS显示屏幕右上角的位置图标,手机开始耗尽电池电量。我无法弄清楚当按下主页按钮时如何正确停止位置更新以及如何正确启动重要的变更监控服务。
如果我能提供任何其他有用的详细信息,请与我们联系。
答案 0 :(得分:0)
我认为这是一个错误。我设法通过删除应用程序并重置位置警告来解决此问题。之后,如果我再次安装应用程序,即使在我允许应用程序的位置并关闭它之后,位置箭头也不会显示,
答案 1 :(得分:0)
[self.viewController.locationController.locationManager startMonitoringSignificantLocationChanges];
您已开始进行重要的位置更新,以跟踪用户的位置。这也是位置管理器服务之一。您将不断看到右上角的GPS图标,直到您停止此服务或从设备中删除您的应用程序。
要停止此服务使用,
[self.viewController.locationController.locationManager stopMonitoringSignificantLocationChanges];
一旦停止重要的位置更新,GPS图标就会消失......
请参阅this,在此检查中获取用户的当前位置
希望这会对你有帮助....