即使应用程序在swift中关闭,如何处理推送通知

时间:2018-01-26 04:42:27

标签: ios swift push-notification

在我的应用程序中,我需要访问推送通知有效负载而无需用户交互,即使应用已关闭。我在launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification]方法中使用了didFinishLaunchingWithOptions。但问题是当通知到来时,有时候launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification]包含有效载荷或有时没有。为什么?

didFinishLaunchingWithOptions中的代码如下:

if launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] != nil 
{

            UserDefaults.standard.set(launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification], forKey: "NotificationDetails")
            UserDefaults.standard.synchronize()

            handlePushNotificationUserInfo(userInfo: launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] as! [AnyHashable : Any])
        }

在上面的代码中,有时我会在UserDefaults或有时没有获得通知有效负载。

1 个答案:

答案 0 :(得分:0)

只有在用户点按通知时您才会收到。我把我以下用于通知,我没有得到任何问题。你可以查看我的代码。

if let launchOptions = launchOptions {
    if let info = launchOptions[UIApplicationLaunchOptionsKey.remoteNotification] {
        let dic = info as! NSDictionary
    }
}