gpt4 book ai didi

ios - 位置管理器 :didEnterRegion: only called once?

转载 作者:行者123 更新时间:2023-11-28 23:11:35 25 4
gpt4 key购买 nike

我已经实现了区域监控并且运行良好。我的测试应用程序在应用程序启动时开始监视一个区域,我调用 startUpdatingLocation 更新 map 上的图钉以可视化我所在的位置。然后,使用XCode定位模拟从孟买跳到旧金山跳到伦敦等。

map 已正确更新(调用了didUpdateToLocation),并且我第一次跳转到旧金山(我注册区域的地方)时,我得到了正确的日志。但是如果我继续跳来跳去,当我回到旧金山时,didEnterRegion 不会被调用,但我的 monitoredRegions 位置管理器中仍然有这个位置。

为什么 didEnterRegion 只调用一次?

最佳答案

当您使用区域监控方法时,您不需要使用 -didUpdateToLocation 主动监控位置。您需要确保已正确设置基本要素,以便您的应用在触发事件时接收来自操作系统的回调。

  • 您的 AppDelegate 应该有一个 locationManager 实例启动并监听。
  • 您需要在 AppDelegate 中配置 didEnterRegion 和 didExitRegion 方法(或设置 locationManagerDelegate 的任何地方)
  • 确保您正确创建区域以进行监控。 CLRegion 采用一个点(经度、纬度)和一个半径。使用 startMonitoringForRegion 方法添加要监视的内容。

这就是全部。我也遇到了这些问题,主要归结为确保您的 CLLocationManagerDelegate 配置为处理来自操作系统的区域事件回调。希望这会有所帮助。

关于ios - 位置管理器 :didEnterRegion: only called once?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com