我有一个包含在singleton
中的CLLocationManager
,并且我添加了大约十几个区域进行监视。 当应用程序位于前台/后台时,我已成功收到边界交叉通知。但是,当我强制退出应用程序时,位置图标消失了,我没有收到任何回调。
据我所知,这是iOS7的预期功能。 以下是我对类似问题的回复,在这种情况下涉及重大位置更改: https://devforums.apple.com/message/882691#882691:
如果用户在应用切换器中向上轻扫,则操作系统将不会启动应用,除非用户明确指示这样做。 所以不,SLC不会启动该应用程序,也不会启动静默通知。 此时唯一会启动应用程序的是用户点击图标。 此处的意图是,用户已表示出于任何原因选择不再运行该应用程序,因此我们对此表示尊重。 在这种情况下,你真的无能为力。 下次用户启动应用程序时,您可以让他们知道某些数据可能丢失,尽管您真的无法判断是否缺少数据(即您可能在后台作系统杀死并且用户可能没有移动因此没有触发任何 SLC 通知(。 我的建议是在操作系统的策略中收集数据,如果用户手动杀死了应用程序,那么请尊重该愿望,不要做任何事情。 无论如何,如果这种行为变化最终给您带来问题或(尤其是(给您的用户带来困惑,请随时提交错误报告。