如何在iOS / Swift3中限制来自EstimoteSDK的多个通知?

时间:2017-01-09 21:33:03

标签: ios swift3 uilocalnotification ibeacon estimote

我实施了Estimote SDK并添加了信标测距/扫描委托方法。现在,我想在设备刚进入信标区域时触发本地通知。在这里,我面临着本地通知的问题。 当我进入信标区域时,我收到的通知很好但是在随机间隔后重复多次。我不止一次收到本地通知。

第二件事是,有没有办法清除通知区域的触发通知。因为我想一次只显示1个通知。因此,当它触发本地通知时,它应该清除来自通知区域的存在通知,如果已经存在。

我尝试使用 cancelLocalNotification cancelAllLocalNotifications ,但未删除通知。

1 个答案:

答案 0 :(得分:0)

这是我的代码实现:

    beaconRegion.notifyOnEntry = true
    beaconRegion.notifyOnExit = true
    self.beaconManager.delegate = self
    self.beaconManager.requestAlwaysAuthorization()
    self.beaconManager.startMonitoring(for: beaconRegion)

func beaconManager(_ manager: Any, didEnter region: CLBeaconRegion) {
    if isAuthenticated == nil {
        return
    }

    let notification = UILocalNotification()
    notification.alertBody = "You are in beacon range."
    notification.fireDate = Date.init(timeIntervalSinceNow: 2)
    notification.userInfo = ["enterInBeaconRange":true]
    UIApplication.shared.presentLocalNotificationNow(notification)

}

现在,如果我正在设置" cancelAllLocalNotifications"通知前的方法,它不会清除通知中心的所有先前通知。