0

iOS5。我已经正确设置了 CLLocationManager,它会监听区域的进入/退出。一切正常。但是当我杀死我的应用程序并进入一个区域时,我收到了一个本地通知(在 didEnterRegion 方法中定义)并且它再次启动了我的应用程序。这是标准行为还是发生了其他事情?我认为它会在后台启动应用程序,执行 didEnterRegion: 并在一段时间后再次杀死自己。我需要做的就是在 didEnterRegion 中进行 HTTP 调用:

有人处理过类似的事情吗?

4

1 回答 1

2

这是预期的行为。当您的应用程序未运行但已为您的应用程序注册地理围栏边界时,它将启动并触发回调。之后它不会被杀死,除非系统决定,它需要内存。

不用担心,您的应用程序即使已启动也会处于休眠状态,因此没有速度/电池/等损失。

见文档:

处理区域的越界事件

每次用户的当前位置跨越边界区域时,系统都会为您的应用生成适当的区域事件。如果您的应用程序已经在运行,这些事件将直接发送给任何当前位置管理器对象的委托。如果您的应用程序没有运行,系统会在后台启动它,以便它可以响应。应用程序可以实现以下方法来处理越界:

于 2013-04-09T14:37:02.100 回答