这是我的didEnterRegion
函数的代码。问题是,在进入和退出时都会触发通知。如何在用户输入位置时才触发通知?
func locationManager(manager: CLLocationManager!, didEnterRegion region: CLRegion!) {
var localNotification:UILocalNotification = UILocalNotification()
localNotification.alertBody = "you've entered rohini sector -8"
localNotification.region = region
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
NSLog("Entering region")
}
您不需要在本地通知中指定区域。您已经知道设备在区域内,因为您已经调用了didEnterRegion
—在通知上指定区域是多余的—您可以简单地发布不指定区域的通知。
您没有指定是否要监视进入或退出该区域。当您创建您的区域时,您可以设置notifyOnExit或notifyOnEntry。如果你只想退出,那么让那个值为真,另一个为假…或者如果只是进入…做相反的
///// snipped taken from ray wenderlichs code...
// 1
let region = CLCircularRegion(center: geotification.coordinate,
radius: geotification.radius, identifier: geotification.identifier)
// 2
region.notifyOnEntry = false
region.notifyOnExit = true