首页 文章

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

提问于
浏览
0

我有一个应用程序,它在后台和前台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

    好吧,我只是想通了 . This Post帮助了我 .

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

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

相关问题