我正在创建一个位置感知应用程序。我已经能够创建地理围栏了,当我在iPhone上测试它时,我注意到当应用程序在前台和后台运行时,回调方法-didEnterRegion
和-didExitRegion
正在被调用。但是当我终止应用程序(意味着应用程序状态为"未运行")时,上述方法回调不会被调用。
那么,我在这里错过了什么?我需要做什么配置吗?大家有什么想法吗?谢谢你!
这是正确的行为取决于你如何"杀死"应用程序。如果你通过从多任务视图中向上滑动来停止应用程序(双击home),那么iOS 7将此解释为你根本不想让应用程序运行——无论是在前台还是后台。如果应用程序因为在设备需要更多内存时处于后台而被"杀死",那么它将继续在后台模式下运行。
参考这个答案- ios 7中的区域监控
为了测试,你可以使用Xcode停止应用程序,在应用程序暂停或调用exit()时模拟低内存情况。