所以我问了一个关于我的代码与didEnterRegion有关的问题,但也许我是太具体了,因此我可以请求某人澄清方法调用的区域监视的更通用的术语的顺序,特别是当应用程序在后台。didEnterRegion执行顺序?
我的理解是:
- 应用注册区域调用startMonitoringForRegion:
- 用户点击主页按钮或锁定装置,应用程序进入后台。
- 设备位置在操作系统级别进行监视,与应用程序分开,操作系统从未启动应用程序以确认用户当前的位置。
- 当用户跨越边界进入该区域时,操作系统会查找哪个应用程序最初注册了该区域并启动该应用程序。
- 该应用程序在后台启动,但(didFinishLaunchingWithOptions:未被调用),CLLocationManager委托设置,它的didEnterRegion委托方法被调用。
- 在我的情况下,这会设置立即显示的UILocalNotification(例如,如果正在使用其他应用程序,则在主屏幕上显示标题,或者如果电话处于休眠状态,则显示在锁定屏幕上)。
- 用户通过在锁定屏幕中滑动或点击横幅来操作通知,启动应用程序并调用appWillEnterForeground/appWillBecomeActive,并在应用程序委托didRecieveLocalNotification:方法被调用后执行。
这是我的理解,这可能是错误的,因为如果应用程序在后台,我的UILocalNotification永远不会被触发。有人能澄清哪些位错了吗?