iOS 再次打开设备或互联网后未收到待处理的 APNs 推送通知

iOS not receiving pending APNs push notification after turn on device or Internet again

我正在使用 react-native 开发一个 iOS 聊天应用程序。启用远程通知功能。当应用程序连接到网络时会收到通知。一旦我关闭手机并在一夜后打开它,就不会收到待处理的通知。知道为什么没有收到吗?

我的通知负载看起来像,

pn_apns: {
      aps: {
         alert: {"title": "test", body: "hello"},
         sound: "default",
         content-available: 1
       }
    }

关键是从提供商服务器发送 apns-expiration,同时将通知发送到 APNs.According 到文档 apns-expiration 是以秒 (UTC) 表示的 UNIX 纪元日期.此 header 标识通知不再有效的日期,可以是 discarded.If 此值非零,APNs 存储通知并尝试至少发送一次,如果需要则重复尝试无法第一时间发送通知。如果该值为 0,APNs 会将通知视为立即过期,并且不会存储通知或尝试重新发送 it.The apns-expiration 的默认值为零

来源:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#//apple_ref/doc/uid/TP40008194-CH11-SW1