【发布时间】:2016-12-14 17:00:41
【问题描述】:
我们需要 iOS 的位置管理器来检测信标。这意味着我们监控一个区域并在我们进入一个区域时获取 didEnterRegion 事件。现在很难测试我们的信标安装,因为我们必须等待 didExitRegion 事件至少大约 30 秒。有时它会超过 30 秒...
如果我们可以取消进入一个区域,那将是非常有帮助的。确保我们已经退出了。
这可能吗? 有没有办法做到这一点?
谢谢 汉斯
【问题讨论】:
我们需要 iOS 的位置管理器来检测信标。这意味着我们监控一个区域并在我们进入一个区域时获取 didEnterRegion 事件。现在很难测试我们的信标安装,因为我们必须等待 didExitRegion 事件至少大约 30 秒。有时它会超过 30 秒...
如果我们可以取消进入一个区域,那将是非常有帮助的。确保我们已经退出了。
这可能吗? 有没有办法做到这一点?
谢谢 汉斯
【问题讨论】:
您可以简单地停止对信标区域的监控,然后立即重新启动监控。根据我的经验,这将在下次检测到与该区域匹配的信标时发送一个新的didEnterRegion: 回调,通常在一秒钟左右内。
locationManager.stopMonitoring(for: region)
locationManager.startMonitoring(for: region)
另请注意,您可以通过以下方式以编程方式重新启动所有受监控区域:
for region in locationManager.monitoredRegions {
locationManager.stopMonitoring(for: region)
locationManager.startMonitoring(for: region)
}
【讨论】: