-1

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

所以这里的情况。我有一个接收远程通知的应用程序。我设法使用 来配置它didReceiveRemoteNotification以显示它收到的消息,当点击通知时,用户会通过 SWReveal 库被带到特定的 viewController。如果应用程序在后台,这很有效。

在前台我被告知我应该使用 iOS 10 的willPresent notificationanddidReceive response方法。如果应用程序在前台,我设法让通知显示出来,但点击通知什么也没做。我想执行与didReceiveRemoteNotification.

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

任何帮助将不胜感激。

4

2 回答 2

1

适用于 Swift 3、iOS 10

查看您是否在 viewDidLoad 中设置了 UNUserNotificationCenter 的委托(即 UNUserNotificationCenter.current().delegate = self

然后处理通知的点击

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

     //Handle notification tap
  }
于 2017-09-20T08:32:22.563 回答
0

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

于 2017-09-18T13:54:03.067 回答