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

watchOS中userNotificationCenter(_:didReceive:)回调未触发求助

watchOS通知userNotificationCenter(_:didReceive:withCompletionHandler:)回调不触发排查方案
  • 确认watchOS应用的通知交互权限

    • 检查Info.plist中是否添加WKAppBackgroundModes字段,并包含remote-notification项
    • 验证用户已授予通知权限,且在系统设置(Watch应用→通知→对应应用)中开启了「显示通知」和「允许交互」
  • 校验通知负载配置

    • 远程通知必须携带category字段,且该category已通过UNNotificationCategory在应用中注册
    • 负载需包含mutable-content: 1(用于触发交互回调或自定义通知UI)
    • 示例有效负载:
      {
        "aps": {
          "alert": "测试交互通知",
          "category": "TEST_INTERACT_CATEGORY",
          "mutable-content": 1
        }
      }
      
  • 检查Delegate的正确绑定

    • 在application(_:didFinishLaunchingWithOptions:)或SceneDelegate的scene(_:willConnectTo:options:)中,确保执行UNUserNotificationCenter.current().delegate = self
    • 若使用了通知扩展(Notification Extension),需在扩展的初始化代码中同样设置Delegate
  • 明确回调触发场景

    • 该回调仅在用户点击通知本体或通知中的操作按钮时触发,静默推送、仅显示通知无交互时不会调用
    • 本地通知需确保创建时关联了正确的category,且用户执行了交互操作
  • 排查通知扩展的配置问题

    • 若使用Notification Content Extension,检查其Info.plist中NSExtension→NSExtensionAttributes→UNNotificationExtensionCategory是否与通知负载的category完全匹配
    • 确认扩展的Deployment Target与主应用一致,且已正确添加到项目目标中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:52:32