iOS 10:检测用户通知是否已到达

时间:2017-05-28 15:44:13

标签: ios iphone swift usernotifications

我正在iOS 10中编写提醒应用程序;我的本地通知使用UserNotifications框架发送。发送通知工作正常;我的问题是通知的后台处理。 早些时候,您可以在app委托中使用didReceiveRemoteNotification来处理userInfo之类的内容;现在,UserNotification显然是它自己的方法。

一般来说,我想检测一下是否已经收到通知。案例:我收到了,我点击打开应用程序图标,bam:警报控制器说:您已收到通知。 我正在使用这两个函数:

func userNotificationCenter(_ center: UNUserNotificationCenter,  willPresent notification: UNNotification, withCompletionHandler   completionHandler: @escaping (_ options:   UNNotificationPresentationOptions) -> Void) {
    print("Handle push from foreground")

    UserDefaults.standard.set(true, forKey: "didReceiveRemoteNotification")
    UserDefaults.standard.synchronize()

    print("\(notification.request.content.userInfo)")
}

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    print("Handle push from background or closed")

    UserDefaults.standard.set(true, forKey: "didReceiveRemoteNotification")

    print("\(response.notification.request.content.userInfo)")
}

但是,如果我通过点击通知中心中的通知来访问该应用,它们只会起作用。那么,如何检测我是否在通过通知进入应用程序的场景中收到通知,但是通过应用程序本身?

0 个答案:

没有答案