iOS5的。我已经正确设置了CLLocationManager,并且它监听区域进入/退出。 一切正常。但是当我杀死我的应用程序并进入某个区域时,我收到了一个本地通知(在didEnterRegion方法中定义)并且它再次启动了我的应用程序。这是标准行为还是还有其他事情发生?我以为它会在后台启动应用程序,执行didEnterRegion:并在一段时间后再次自杀。我需要做的就是在didEnterRegion中进行HTTP调用:
任何处理类似事情的人?
答案 0 :(得分:2)
这是预期的行为。 当您的应用程序未运行但为您的应用程序注册了地理围栏边界时,它将启动并触发回调。 在此之后它不会被杀死,除非系统决定,它需要记忆。
不要担心,即使它已经启动,你的应用程序也将处于休眠状态,因此没有速度/电池/等惩罚。
参见文档:
处理区域的边界交叉事件
每次用户的当前位置越过边界区域时, 系统为您的应用生成适当的区域事件。如果你的应用程序 已经运行,这些事件直接发送给任何代表 当前位置管理器对象。如果你的应用没有运行,那么 系统在后台启动它以便它可以响应。应用可以 实现以下方法来处理边界交叉: