Swift:不调用didReceiveRemoteNotification()

时间:2017-05-28 13:45:09

标签: ios swift notifications

这是我的示例应用

At the left you can see the app delegate, on the right my view controller

我在另一个应用程序中遇到了一些麻烦,我正在试图弄清楚我做错了什么;它的工作原理如下:

  1. 我按下一个安排通知的按钮
  2. 我退出了应用并将其关闭
  3. 我等待通知到达
  4. 我通过Xcode重启应用
  5. 问题是:即使应该调用didReceiveRemoteNotification() - 函数,我仍然会在启动显示我的应用程序时获得错误值,无论出于何种原因,此方法都不会被调用。为什么?你能救我吗?

1 个答案:

答案 0 :(得分:2)

不应该为本地通知调用方法didReceiveRemoteNotification() ...它仅适用于远程通知(推送通知)。

使用UNUserNotificationCenterDelegate委托方法

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

请参阅此处的详细信息https://stackoverflow.com/a/44142742/1825618

收到投放通知(仅限当前正在通知中心显示的内容)

UNUserNotificationCenter.current().getDeliveredNotifications {
    (notifications) in
    // your code
}