3

我正在做一个安排本地通知并保存用户信息的应用程序。这是它的一部分。

但是当应用程序关闭时,如果出现通知并且用户单击,则不会调用该方法并且我无法处理 userInfo。

我看到有一种新的方式来接收通知UNUserNotificationCenter。但也不起作用。

我试过这样,但我没有成功:

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

    let userInfo = response.notification.request.content.userInfo
    if let yourData = userInfo["yourKey"] as? String {
        // Handle your data here, pass it to a view controller etc.
    }
}

这是我在 AppDelegate 中的实现:

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

    let lNotification = UILocalNotification()
    lNotification.userInfo = response.notification.request.content.userInfo
        // Handle your data here, pass it to a view controller etc.

}

任何人,来帮助我?我在这里看到了所有相关的问题,但没有找到任何东西。

4

1 回答 1

0

你注册通知了吗?如果没有,请将其添加到 AppDelegate didFinishLaunchingWithOptions:

// Register Notifications
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge], completionHandler: { granted, error in

            if granted {
                print("User notifications are allowed")
            } else {
                print("User notifications are NOT allowed")
            }
        })
        UNUserNotificationCenter.current().delegate = self
于 2018-03-27T20:07:59.877 回答