未调用 iOS 推送通知服务扩展 (didReceive)

时间:2021-02-10 15:27:33

标签: ios swift xcode push-notification apple-push-notifications

  • 我已经在 xCode 中设置了推送通知服务扩展。
  • 我已将目标部署版本设置为 13.0(应用程序也是 13.0)
  • Info.plist 的扩展名具有正确的 NSExtensionPrincipalClass
  • 为了测试,我正在运行扩展目标并选择应用
  • 我正在运行 iOS 14.2 的设备上测试所有内容
  • 我尝试了以下有效负载:
{
      "gcm.message_id" : "XXXXX",
      "type" : "XXXXX",
      "url" : "XXXXX",
      "body" : "XXXX",
      "title" : "XXX",
      "google.c.a.e" : "XX",
      "aps" : {
        "mutable-content" : 1,
        "alert" : {
          "title" : "Test",
          "body" : "Test"
        },
        "category" : "XXXX",
        "content-available" : 1
      },
      "channel_id" : "XXXX"
}

我也尝试排除 mutable-content 但服务扩展仍然没有被调用。
我也尝试过像这样更简单的有效载荷:

{
"aps" : {
        "mutable-content" : 1,
        "alert" : {
          "title" : "Test",
          "body" : "Test"
        },
        "category" : "XXXX",
        "content-available" : 1
      }
}

不管有没有 mutable-content

作为测试的结果,我总是可以看到推送通知,但未触发扩展 `didReceive` 方法中的断点。此外,有效载荷不会以任何方式修改。

重启设备、重启 macbook 和删除派生数据等方法也不起作用

1 个答案:

答案 0 :(得分:0)

我设法解决了在 app target -> Build Phases -> Embed App Extensions

中取消选择 Copy only when installing 的问题

enter image description here