iOS 10 中的地理围栏

Geofencing in iOS 10

iOS 10 介绍 UNLocationNotificationTrigger for triggering local notification based on a defined CLRegion. Prior to iOS 10 I was using CLLocationManager's startMonitoringForRegion 进行地理围栏并根据用户位置发送本地通知。

谁能告诉我这两种方法之间的区别是什么?

借助 Core Location 区域监控,您的应用程序会在进入或退出区域时启动到后台。在您的情况下,您正在使用此后台执行来 post 本地通知,但您可以执行其他代码。

对于基于位置的 UNLocalNotificationTrigger,本地通知将在输入区域时 posted 但您的应用内的任何代码都不会执行(除非用户通过点击通知)。此外,退出该区域时不会发生任何事情。