我在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的答案不起作用。
请帮助
谢谢