了解远程通知

Understanding Remote Notifications

我对通知真的很陌生,我尝试了其他问题中提到的许多答案,但我很困惑。

情况是这样的。我有一个接收远程通知的应用程序。我设法使用 didReceiveRemoteNotification 配置它以显示它收到的消息,当点击通知时,用户将通过 SWReveal 库转到特定的 viewController。如果应用程序在后台运行,此方法效果很好。

在前台我被告知我应该为 iOS 10 使用 willPresent notificationdidReceive response 方法。如果应用程序在前台,我设法得到通知显示但是点击通知什么都不做。我想执行与 didReceiveRemoteNotification.

中相同的功能

我还需要为收到的某些通知(背景和前景)添加操作按钮,但我不知道该如何处理。

非常感谢任何帮助。

你可以做的一个解决方案是让远程通知实际上是一个静默通知,然后当你的应用程序收到这个静默通知时,你立即安排一个本地通知。现在它是一个本地通知而不是远程通知,您可以在客户端(应用程序端)做任何您需要做的事情,这使得它更加灵活。

对于Swift3,iOS10

看看你在viewDidLoad

中是否设置了UNUserNotificationCenter的delegate(即UNUserNotificationCenter.current().delegate = self)

然后在

中处理通知的点击
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

     //Handle notification tap
  }