iOS CLRegion 监控在一天后停止工作
iOS CLRegion monitoring stops working after a day
我已经设置了一个应用程序来监控地理围栏 (CLCircularRegion) 和 iBeacon (CLBeaconRegion) 监控进入/退出事件。在前台和后台,一切都可以正常工作大约一天。正如我所期望的那样,我得到进入/退出事件(生成一个 UNNotificationRequest 以显示本地通知)。我可以 运行 多个可能会强制我的应用程序内存不足的其他应用程序,并且我仍然获得启动生成通知的处理程序的进入/退出事件。但是一天后我停止接收事件,或者至少停止接收通知。我 运行宁 iOS 13 iPhone Xs。对可能发生的事情有任何见解吗?
我想我已经解决了这个问题。我的 CLLocationManager 委托被设置在 ViewController 中。我发现在检测到区域(信标)的设备上观察控制台并且我的应用程序将被调用,但代表为零。因此,我将 CLLocationManager 委托设置为我的 AppDelegate 中的 didFinishLaunching,现在一切正常。在调用委托方法之前,iOS 调用 didFinishLaunching 是有道理的。
我已经设置了一个应用程序来监控地理围栏 (CLCircularRegion) 和 iBeacon (CLBeaconRegion) 监控进入/退出事件。在前台和后台,一切都可以正常工作大约一天。正如我所期望的那样,我得到进入/退出事件(生成一个 UNNotificationRequest 以显示本地通知)。我可以 运行 多个可能会强制我的应用程序内存不足的其他应用程序,并且我仍然获得启动生成通知的处理程序的进入/退出事件。但是一天后我停止接收事件,或者至少停止接收通知。我 运行宁 iOS 13 iPhone Xs。对可能发生的事情有任何见解吗?
我想我已经解决了这个问题。我的 CLLocationManager 委托被设置在 ViewController 中。我发现在检测到区域(信标)的设备上观察控制台并且我的应用程序将被调用,但代表为零。因此,我将 CLLocationManager 委托设置为我的 AppDelegate 中的 didFinishLaunching,现在一切正常。在调用委托方法之前,iOS 调用 didFinishLaunching 是有道理的。