应用程序关闭,应用程序打开以及后台应用程序处理推送数据

时间:2017-08-20 09:05:23

标签: ios swift3 apple-push-notifications xcode8

我在app appate中有以下基金:

func application(_ application: UIApplication, didReceiveRemoteNotification data: [AnyHashable : Any]) {
    // Print notification payload data
    print("Push notification received: \(data)")


    let dictPayload = data as NSDictionary

    if let data = dictPayload.value(forKey: "aps") as? NSDictionary {
        let link = data.value(forKey: "Link") as? String
        print("link: \(link!)")

        UserDefaults.standard.set(link, forKey: "link_from_push")
        UserDefaults.standard.synchronize()
    }

基本上,推送通知包含带有应用程序链接的数据。当用户打开应用程序时,我需要自动登录用户,执行一些操作然后打开链接。

应用程序打开时,我的代码工作正常。我收到推送,提取链接没问题。

另一方面,当app关闭或在后台时,didReceiveRemoteNotification没有被调用,我猜它没有被调用,因为没有设置UserDefaults.standard forKey:“link_from_push”)。

当app在后台或完全关闭时,如何将link的值设置为UserDefaults.standard forKey:“link_from_push”。我需要使用另一种方法而不是didReceiveRemoteNotification

这不是重复,因为问题中的答案:didReceiveRemoteNotification未调用,iOS 10解决obj c而不是swift,并且swift的答案不起作用。

请帮助

谢谢

0 个答案:

没有答案