gpt4 book ai didi

ios - 应用程序终止时处理通知(iOS)

转载 作者:行者123 更新时间:2023-12-03 03:03:37 26 4
gpt4 key购买 nike

我正在开发接收通知的应用程序(使用苹果推送通知)。我正在存储这些通知并在一个 Controller 中显示为列表。据我了解,每当收到通知时都会调用 didReceiveRemoteNotification 。当应用程序位于前台和后台时,我可以通过 didReceiveRemoteNotification 方法将通知存储在 Db 中。但是当应用程序终止时,我如何存储通知?

如果用户在应用程序终止时点击通知,我可以使用启动选项来存储通知。但是,如果用户在应用程序终止时没有点击通知,我如何存储通知?

最佳答案

您是否尝试过使用 getDeliveredNotifications(completionHandler:) ?您可以在例如中调用以下代码 Controller 的 viewDidLoad 方法,您在其中显示收到的通知。

请注意,如果用户清除通知中心中收到的通知,则此操作将不起作用。您必须按照评论中链接的问题的已接受答案中提到的方式进行操作。

UNUserNotificationCenter.current().getDeliveredNotifications { notifications in

// notifications: An array of UNNotification objects representing the local
// and remote notifications of your app that have been delivered and are still
// visible in Notification Center. If none of your app’s notifications are
// visible in Notification Center, the array is empty.

// As said in the documentation, this closure may be executed in a background
// thread, so if you want to update your UI you'll need to do the following:
DispatchQueue.main.sync { /* or .async {} */
// update UI
}
}

关于ios - 应用程序终止时处理通知(iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45994511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com