Как сделать так, чтобы пользователь не получал (APN C) уведомления при выходе из приложения? - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу, чтобы пользователь не получал уведомления при выходе из приложения

Я пытался определить, когда пользователь выходит из приложения, и если пользователь выходит из приложения, выполняя этот код: UNUserNotificationCenter.current().removeAllPendingNotificationRequests()

Итак, я попытался определить, используется ли это приложение для выхода, с помощью этой забавы c: optional func applicationWillTerminate(_ application: UIApplication) Но я не уверен, где и как его вызвать, когда пользователь выходит из приложения и одновременно выполняет это. код: UNUserNotificationCenter.current().removeAllPendingNotificationRequests()

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2020

Вы можете попробовать что-то вроде ниже

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

Если вы хотите, чтобы приложение прекратило все уведомления, как только приложение ушло в фоновый режим, вы можете использовать

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

ПРИМЕЧАНИЕ: Если вы используете второй вариант, не забудьте перерегистрировать для уведомлений pu sh, когда приложение снова выходит на передний план

1 голос
/ 28 февраля 2020

Этот пример кода для удаления всех ожидающих уведомлений.

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

Этот пример кода для отмены регистрации удаленных уведомлений.

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