【问题标题】:iOS: How to to notify a user on reaching near to a storeiOS:如何在到达商店附近时通知用户
【发布时间】:2012-06-08 11:35:30
【问题描述】:

我正在编写一个应用程序,当用户到达指定零售店附近(300 米内)时,它会提醒用户。

我正在使用 API

[locationManager startMonitoringForRegion:grRegion desiredAccuracy:acc];

但无法获取进入和退出区域的事件。

我的问题是

  1. 此 API 的准确性如何。如果我们指定 300 米范围,我会准确触发事件吗?还是仅当用户从一个蜂窝塔更改为另一个时才会触发此事件?
  2. 如果无法在 300 米内获取事件,我该如何实现我的要求。

PS:- 我不想使用 API [locationManager startUpdatingLocation];,因为它会很快耗尽电池电量。

提前致谢。

【问题讨论】:

    标签: ios geolocation core-location


    【解决方案1】:

    您需要实现CLLocationManagerDelegate 来拦截-didEnterRegion-didExitRegion 的位置回调。

    我已经在我的应用程序中使用这个精确的 API 将近一年了,我发现它非常准确,而且电池消耗最少。我想说这应该是你最好的途径,不会考虑使用-startUpdatingLocation,因为它需要更多的代码来实现你需要的东西,更不用说电池了。

    实现委托和方法,你应该很高兴。您也可以使用模拟器中的位置更改对其进行测试。在实际使用中进行测试之前,先让它们运行良好。

    【讨论】:

    • 我正在注册所有代表,但我没有收到回电。当我阅读一些博客时,我读到 startMonitoringForRegion 仅在用户在基站之间切换时才会触发。我会再次检查我的代码,看看我做错了什么。非常感谢您的回复。
    • -startMonitoringForRegion 比信号塔转换更频繁地触发。与手机信号塔相关联的是 -startMonitoringForSignificantChange。我发现区域监控非常非常准确。但是,它只会在您越过边界后触发。所以如果你在里面启用它,在你离开之前什么都不会发生。
    • 太棒了!这就是我想要的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多