#ios #swift #push-notification
#iOS #swift #push-уведомление
Вопрос:
Я не могу очистить значок приложения. После открытия приложения оно должно установить значение applicationIconBadgeNumber равным нулю, я попытался сделать это в applicationWillEnterForeground:
func applicationWillEnterForeground(_ application: UIApplication) {
...
UIApplication.shared.applicationIconBadgeNumber = 0
...
}
и в applicationDidBecomeActive:
func applicationDidBecomeActive(_ application: UIApplication) {
...
UIApplication.shared.applicationIconBadgeNumber = 0
...
}
Я никогда не использовал их оба одновременно, и я также от отчаяния попробовал некоторые другие места, и ничего не сработало.
есть ли другой способ очистить значок приложения? или есть какая-то другая вещь, которую я должен сделать?
РЕДАКТИРОВАТЬ: я попытался удалить / переустановить приложение, и значок сохранился
Комментарии:
1. Возможно, у вас проблемы с логикой. Возможно, вы устанавливаете его в 0, и после этого какая-то другая логика восстанавливается на основе любых заданных вами условий. Возможно, дополнительный контекст окажется полезным
2. я не знаю, понимаю ли я, что вы говорите, но я нигде больше не устанавливаю applicationIconBadgeNumber, я только что подтвердил это
3. этот код выполняется в основном потоке / UI? Если в фоновом потоке, попробуйте отправить в основную очередь
4. сейчас я отправил в main, но проблема сохраняется
5. Откуда вы знаете, что он не установлен на ноль? Если вы установите его равным нулю при переходе на передний план, вы не сможете увидеть значок, поскольку приложение занимает экран.