如何让用户在退出应用程序时不会收到 (APNC) 通知?

How can I make user won't receive (APNC)notifications when they quit the app?

我希望用户在退出应用时不会收到通知

我尝试的是检测用户何时退出应用程序,以及用户是否退出应用程序并执行以下代码:UNUserNotificationCenter.current().removeAllPendingNotificationRequests()

所以我试图通过这个函数来检测是否使用退出应用程序:optional func applicationWillTerminate(_ application: UIApplication)但是我不确定当用户退出应用程序并同时执行这段代码时在哪里以及如何调用它: UNUserNotificationCenter.current().removeAllPendingNotificationRequests()

有人可以帮我吗?

此代码示例用于删除所有待处理通知。

func applicationWillTerminate(_ application: UIApplication) {
   UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
}

此代码示例用于注销远程通知。

func applicationWillTerminate(_ application: UIApplication) {
    UIApplication.shared.unregisterForRemoteNotifications()
}

你可以试试下面的方法

func applicationWillTerminate(_ application: UIApplication) {
    application.unregisterForRemoteNotifications()
}

如果您希望应用在进入后台后立即停止所有通知,您可以使用

func applicationDidEnterBackground(_ application: UIApplication) {
    application.unregisterForRemoteNotifications()
}

注意:如果您使用第二个选项,请不要忘记在应用再次进入前台时重新注册推送通知