You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iPadOS 14设备首次运行App时应用图标角标闪烁消失问题

iPadOS 14 应用内设置图标角标首次运行异常问题

测试环境

我在运行iPadOS 14的iPad上发现了该异常行为,测试所用模拟器和物理设备均为14.5版本,实体机升级到了14.5.1版本。
本次需求为基于App内部的业务逻辑展示带数值的图标角标,不涉及外部推送通知服务。

实现代码

1. 计数ViewModel

我搭建了ViewModel来追踪通知角标需要展示的数值:

import Combine
import Foundation

class CounterViewModel: ObservableObject {
    @Published private(set) var notificationCount = 42

    func up() {
        self.notificationCount += 1
    }

    func down() {
        self.notificationCount -= 1
    }
}

2. 角标同步逻辑

我通过ContentView的.onAppear方法将数值同步到App图标通知角标:

struct ContentView: View {
    @EnvironmentObject var counterViewModel: CounterViewModel
    @State private var counterCancellable: AnyCancellable?

    var body: some View {
        Text("Hello World!")
        .onAppear {
            UNUserNotificationCenter.current().requestAuthorization(options: .badge) { _, error in
                if error == nil {
                    self.counterCancellable = self.counterViewModel.$notificationCount.sink { count in
                        DispatchQueue.main.async {
                            UIApplication.shared.applicationIconBadgeNumber = count
                        }
                    }
                }
            }
        }
    }
}

3. 全局实例注入

最后我在App层级设置了EnvironmentObject,方便计数逻辑关联的所有视图共享该实例:

struct IBreviaryApp: App {
    @ObservedObject private var counterViewModel = CounterViewModel()

    var body: some Scene {
        WindowGroup {
            ContentView()       
                .environmentObject(self.counterViewModel)               
        }
    }
}

问题表现

仅在App首次运行时,同意通知权限弹窗后,将App切到后台时图标上的角标会先显示,随后突然消失,程序坞中甚至完全不显示。
后续触发以下任意操作角标会恢复正常显示:

  • 点击App图标(不管是程序坞还是桌面的图标),角标会在App打开的动画中出现
  • 在已安装应用的不同页面间滑动,回到App所在页面后,角标就会固定显示
  • 打开其他App,程序坞的最近使用应用列表展示新App时,App角标也会在程序坞中出现,且本次会保持显示

重启iPad或者重装App可以解决该问题,但App首次运行时该问题必定出现。

补充信息

编辑: 已上传可复现问题的代码仓库,要复现该问题,需要通过其他函数修改计数值。
编辑2: 已上传演示视频,正如仓库中所示,为了模拟其他交互,我添加了5秒延迟,之后将计数器数值设置为42。


内容的提问来源于stack exchange,提问作者Valerio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 00:06:04