即使应用程序被杀,位置服务也不会停止

时间:2012-08-08 05:24:06

标签: xcode service location mapkit

我有一个应用程序,它在后台和前台Mapkit中使用CLLocationManager来显示用户位置。我没有激活BackgroundModes。因此,如果我的应用程序进入后台,我将停止使用[mapview setShowsUserLocation:NO]显示用户位置。在appDelegate中,我启动LocationManager并使用[locationManager startUpdatingLocation]和[locationManager stopUpdatingLocation]每秒30秒停止它(此时不用担心电池耗尽)以获取用户在Background中的位置。所以假设locationManager是5秒开启和25秒关闭。这个25秒的位置服务指标应该离开吧?但事实并非如此。即使我没有告诉LocationManager启动指示器也一直存在。杀死应用程序无济于事,只能在设置中关闭位置服务。但如果我重新打开它,那么指标将会一直存在。

我尝试了不同帖子中的所有内容,即使是在这些: Locationservice Indicator stays "on" Location services don't stop when application is terminated

我永远不会调用locationManager = nil或释放它。 太疯狂..大家可以帮我吗?


更新:所以这让我非常疯狂。从几天开始就坚持这个。并且只在我真正的iPhone上测试过它。现在我尝试使用iPad和iPhone模拟器,并且在两个设备上都是我预期的:当应用程序处于后台时,指示灯亮5秒,指示灯离开25秒。那么这是我手机上的错误还是有人提出一些建议?我有5.1.1和越狱但这不应该影响它!?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

好的,我只是想通了。 This Post帮助了我。

  

“从您的iOS设置中选择常规|重置|重置位置警告。这会将警告重置为所有应用。这意味着下次启动需要位置的应用时,iOS会提示您使用位置权限对话框。从操作表中选择“重置警告”。“

我打了几次电话,然后它按照我的预期工作(并且它一直在模拟器中工作):-)!现在我可以考虑将电池耗尽......