我知道如何引发本地通知并在其上显示操作。当用户点击操作时,我可以通过以下方法处理它:
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse, withCompletionHandler
completionHandler: @escaping () -> Void) {
// Do something here
if response.notification.request.content.userInfo["backUp"] {
doBackUpHere()
// Do other methods
}
}
然而,我的情况有点不同。在点击它或其上面的操作(应用程序是前台或后台)之前发出通知时,我需要执行一些功能。当用户点击通知时会运行其他方法
func notificationRaised (notification: Notification){
// to do if notification is
if notification.userInfo["backUp"] {
doBackUpHere()
}
}
更新
请参阅@Sergey回答和我们的意见,以便更好地理解我的建议。
答案 0 :(得分:1)
如果我正确理解您的问题,您希望在收到通知时进行操作,而无需任何用户输入。如果是这样,我建议你看看silent push notifications in iOS - 不幸的是,他们就是这么做了 - 根本没有在用户界面中显示。
您还可以尝试使用计时器上的本地通知,但请记住,只有当用户点击通知和/或其中一项操作时,您才能运行代码,因为在预定的时间内不确保应用程序处于活动状态显示本地通知。
答案 1 :(得分:0)
您是否听说过 '无声推送通知' ?我认为这正是您所寻找的;)您可以获得该通知,执行您的操作,然后根据需要显示本地通知。