2011-04-29 66 views
0

在我的应用程序运行时,使用苹果CLLocationManager的位置更新工作正常。我决定实施苹果文档中描述的MonitorSignificantLocationChanges方法。正确的iOS背景位置更新

这里是我的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

我试过同样的步骤,但这样做没有为我解决问题。你的意思是这是一个iOS的错误? – wasabi 2011-04-30 04:50:14

0
[self.viewController.locationController.locationManager startMonitoringSignificantLocationChanges]; 

您已经启动了显著的位置更新,这将跟踪用户的位置。这也是地点经理服务之一。您将不断看到右上角的GPS图标,直到您停止此服务或从设备上删除您的应用程序。

要停止这项服务的使用,

[self.viewController.locationController.locationManager stopMonitoringSignificantLocationChanges]; 

一旦你停止显著位置更新时,GPS图标会消失......

请参考this,在此检查获取用户的当前位置

希望这会帮助你......