ios - 为什么 self.locationManager stopUpdatingLocation 不停止位置更新

标签 ios mapkit core-location cllocationmanager

问题:我似乎无法阻止 Core Location 向我的应用/跟踪发送更新。

我在做什么:在我的 viewWillAppear 中,我调用了 self.locationManager 并将其传递给一个方法以在 map 上显示用户的位置(MKMapView 的实例)。覆盖 getter 以检查服务的可用性,以查看其是否已授权。如果是这样,它将allocs/initsstartMonitoringSignificantLocationChanges返回

viewDidDisappear 中,我调用了 [self.locationManager stopUpdatingLocation]。但我仍然可以在状态栏中看到位置图标。即使当我通过双击主页按钮并关闭它来终止应用程序时,该图标仍然存在......即使在延长的时间(10 分钟以上)之后。当我转到设置应用程序时,它告诉我我的应用程序仍在使用定位服务(紫色图标)。

问题:我在这里缺少什么?为什么位置更新不会停止?

提前致谢。

最佳答案

startMonitoringSignificantLocationChanges 的反面不是stopUpdatingLocation,而是stopMonitoringSignificantLocationChanges

您可能希望将 startMonitoringSignificantLocationChanges 替换为 startUpdatingLocation 以便进行更定期的更新,除非您有特定原因只监视重要的位置更改。

查看 CLLocation documentation了解更多详情。

关于ios - 为什么 self.locationManager stopUpdatingLocation 不停止位置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469741/

相关文章:

c++ - 如何使用 Box2d 获取一个或多个碰撞点?

iphone - 在 MKMap View 中显示附近的餐馆

ios - iOS 后台模式下调试网络通信

iphone - 坚持 CoreLocation

ios - 应用程序终止时未调用 CLLocationManager `didUpdateToLocation`

ios - UIScrollView 委托(delegate)方法 scrollViewWillEndDragging : not working?

ios - 呈现的弹出 Controller 出现在错误的位置

ios - 通过 segue 从 map 标注中的 detailDisclosure 按钮将数据传递到新的 DetailView

ios - 如何使表格 View 在快速重新加载数据后显示特定行?

ios - 仅本地图靠近屏幕边缘时,如何才能将 map 置于注释 View 的中心?