我可能会混淆区域监控的工作原理,但这是我到目前为止所做的:
我正在通过我的位置管理器注册要监视的区域,该位置管理器是在单例类上实现的,此单例也被设置为位置管理器的委托,因此正在调用实现的方法.
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
这完全按预期工作,如果应用程序处于活动状态或暂停状态,则调用该方法.它也很有意义,因为该类已经被加载,当该区域进入事件时,iOS会将此甚至发送到我的应用程序,该应用程序调用已注册的位置管理器(可能有一个引用它),然后它调用任何委托也是沿着它注册(因为课程已准备好并加载).