Mon application fait ce qui suit lorsqu'elle est ouverte à partir d'une notification à distance. En gros, elle enregistre article_id
en UserDefaults
afin que je puisse l'utiliser au lancement de l'application :
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
let userInfo = response.notification.request.content.userInfo
if let aps = userInfo["aps"] as? [String: AnyObject] {
let article_id = aps["article_id"]
UserDefaults.standard.set(article_id, forKey: "notification_article_id")
}
completionHandler()
}
}
Cependant, cela ne fonctionne que si l'application est complètement fermée. Si l'application reste en arrière-plan et que l'utilisateur clique sur la notification (par exemple à partir de l'écran de verrouillage), la fonction ci-dessus ne sera pas déclenchée. Par conséquent, elle n'enregistrera pas les données dans mon fichier UserDefaults
. Quelqu'un sait-il comment déclencher une action similaire dans cette situation ? Merci d'avance !