在我的第一个SwiftUI应用中,我启用了远程通知和后台进程。 我确实添加了一个AppDelegate类来支持通知。
这些通知会将应用徽章设置为适当的值。
由于此应用启用了这些后台模式,因此一些生命周期事件不起作用:
applicationDidBecomeActive
applicationWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
问题:我在哪里/如何重置徽章?
答案 0 :(得分:0)
这是您观察didBecomeActiveNotification
的方法:
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { _ in
UIApplication.shared.applicationIconBadgeNumber = 0
}
}
}
}
您可以用相同的方式观察其他通知。
或者,您可以使用@EnvironmentObject
来跟踪应用程序状态: