后台使用swift

时间:2016-07-27 13:07:28

标签: ios swift uilocalnotification

在我的应用程序中,我想在应用程序处于后台或被杀时读取本地通知,并且我想取消该通知,因为它会被重复。

我使用以下代码来安排本地通知,

let localNotification = UILocalNotification()
localNotification.fireDate = NSDate()
localNotification.repeatInterval = NSCalendarUnit.Day
localNotification.timeZone = NSTimeZone.localTimeZone()
localNotification.alertBody = "Hello"
localNotification.userInfo = userInfo
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

两天后,我想取消该通知。所以,我想获取数据并检查相同以取消它。我无法使用content-available=1进行本地通知,也不希望用户与通知进行互动。

func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
}

是否有可能在后台获取本地通知?

1 个答案:

答案 0 :(得分:0)

即使您的设备重新启动,本地通知也会在通知托盘中,它不会被删除。当用户点击通知并且didReceiveLocalNotification将接到电话时,只有它才会被控制以移除或进行进一步的任务。

只有通过推送套件通知才能实现此功能,它将远程调用。

当它到来时,它将在后台调用您的应用程序30秒,然后您将获得控制权以访问它以删除或执行任何其他操作。

确保设备重启后,您必须将其保留在NSUserDefault中,除非您无法访问该对象。