Ios iPhone X上未收到Firebase通知FCM

Ios iPhone X上未收到Firebase通知FCM,ios,firebase,push-notification,apple-push-notifications,firebase-cloud-messaging,Ios,Firebase,Push Notification,Apple Push Notifications,Firebase Cloud Messaging,我有一个iOS应用程序(Xcode 9/Swift 4),它使用Firebase云消息接收静默推送通知 该应用程序已经发布,但iPhone X用户没有收到通知 我已经对所有内容进行了三次检查,所有内容都是最新的,包括GooglePodsFirebaseMessaging(3.0.2) 生成静默推送通知的我的服务器应用程序(c#)也使用了最新版本的GoogleAPI(1.34) 因此,使用生成通知的应用程序来测试iPhone是否收到通知,我得到了以下结果: 连接到Xcode的iPhone 6S收

我有一个iOS应用程序
(Xcode 9/Swift 4)
,它使用
Firebase云消息
接收
静默推送通知

该应用程序已经发布,但iPhone X用户没有收到通知

我已经对所有内容进行了三次检查,所有内容都是最新的,包括GooglePods
FirebaseMessaging(3.0.2)

生成静默推送通知的我的服务器应用程序(c#)也使用了最新版本的
GoogleAPI(1.34)

因此,使用生成通知的应用程序来测试iPhone是否收到通知,我得到了以下结果:

  • 连接到Xcode的iPhone 6S收到通知
  • 运行testflight版本的iPhone 6S收到通知
  • 运行app store版本的iPhone 6S收到通知
  • 连接到Xcode的iPhone X收到通知
  • 运行testflight版本的iPhone X未收到
  • 运行应用商店版本的iPhone X未收到
这是最糟糕的部分。。。如果我从c#应用程序中获取iPhone X令牌,并通过Firebase控制台发送消息,testflight版本将收到该消息(我想这证明我发送的令牌是正确的)

我知道我没有提供代码,但真的没有什么可检查的。。。在iPhone6S上,甚至连连到Xcode的iPhoneX上,一切都运行得非常完美

我在想,我的服务器IP地址在某种程度上无法从iPhone X访问,但事实并非如此,因为在应用程序启动期间,我连接到服务器并下载数据时没有出现问题。。。这就像iPhoneX有某种防火墙来阻止来自我的IP的消息? 即使我知道我在iPhone X上有应用程序通知权限(我可以从Firebase控制台发送消息),我还是在应用程序内创建了一个日志屏幕,并知道该权限已启用

我错过什么了吗???是否有一个额外的权限需要启用到iPhone X,我不知道

编辑:iPhoneX iOS版本=11.4

EDIT2:似乎出于某种原因,iPhone X需要负载包含
“通知:{”title:“xxx”,“body:“xxx”}”
,这是毫无意义的,因为iPhone 6S可以在没有添加负载的情况下接收静默推送通知。。。现在的问题是,向有效负载添加“通知”将使iOS在收到通知后立即在托盘上显示通知,这与我想要传递的“无声”通知的目的背道而驰

以下是之前的有效负载,它在iPhone X上不起作用,但在iPhone 6S上起作用(FCM负责添加
可用内容
标记):

这是一款与iPhone X配合使用但会弹出系统通知的手机,我不想看到:

{"message": {"token" : "eANw_OLOKXc:APA.....XsMg", "notification":{"title":"xxx","body":"xxx"},"data" : {"content" : "2546|N|495....arg|BATTERY|||||"}}}
为什么iphone6s在没有
通知的情况下工作?我如何向iPhoneX发送无声通知

编辑3:我想唯一的选择是启动一个新项目,复制问题,因为我被卡住了。。。我不明白为什么通过运行由Xcode绑定的项目可以使它在iPhoneX中工作,但在没有插入USB电缆的情况下运行时,它不会收到通知。 我忘了提到iPhone6S也在iOS 11.4上

编辑4:我在收到无声通知时就设法直接从iPhone X获取了一些日志:

Jun 26 01:08:46 MP apsd[9726] <Notice>: APSMessageStore - APSIncomingMessageRecordDeleteMessageForGUID <private>
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680] <Notice>: Received incoming message on topic com.mydomain.myapp2 at priority 1
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680] <Notice>: [com.mydomain.myapp2] Received remote notification request C752-66DA [ hasAlertContent: 0, hasSound: 0 hasBadge: 0 hasContentAvailable: 1 hasMutableContent: 0 ]
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680] <Notice>: [com.mydomain.myapp2] Deliver push notification request C752-66DA
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680] <Notice>: [com.mydomain.myapp2] Passing content-available push to Duet
Jun 26 01:08:46 MP SpringBoard(DuetActivityScheduler)[9680] <Notice>: SUBMITTING: <private>
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680] <Error>: Ignoring notification with no alert, sound or badge (com.mydomain.myapp2): C752-66DA
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680] <Notice>: [com.mydomain.myapp2] Not saving push notification C752-66DA to store [ error=Error Domain=UNErrorDomain Code=1401 "Notification has no user-facing content" UserInfo={NSLocalizedDescription=Notification has no user-facing content} ]
Jun 26 01:08:46 MP dasd(DuetActivitySchedulerDaemon)[9752] <Notice>: Submitted Activity: com.apple.pushLaunch.com.mydomain.myapp2:2AD94B <private>
Jun 26 01:08:46 MP dasd(DuetActivitySchedulerDaemon)[9752] <Notice>: Daemon Canceling Activities: {(
    com.apple.pushLaunch.com.mydomain.myapp2:2AD94B
)}
Jun 26 01:08:46 MP dasd(DuetActivitySchedulerDaemon)[9752] <Notice>: CANCELED: com.apple.pushLaunch.com.mydomain.myapp2:2AD94B <private>!
Jun 26 01:08:46 MP apsd[9726]:APSMessageStore-apsinomingMessageRecordDeleteMessageForGuid
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680]:在主题com.mydomain.myapp2上收到优先级为1的传入消息
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680]:[com.mydomain.myapp2]收到远程通知请求C752-66DA[hasAlertContent:0,hasSound:0 hasBadge:0 hasContentAvailable:1 hasMutableContent:0]
Jun 26 01:08:46 MP SpringBoard(用户通知服务器)[9680]:[com.mydomain.myapp2]传递推送通知请求C752-66DA
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680]:[com.mydomain.myapp2]将可用内容推送到Duet
Jun 26 01:08:46 MP SpringBoard(DuetActivityScheduler)[9680]:提交:
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680]:忽略没有警报、声音或徽章的通知(com.mydomain.myapp2):C752-66DA
Jun 26 01:08:46 MP SpringBoard(UserNotificationsServer)[9680]:[com.mydomain.myapp2]未将推送通知C752-66DA保存到存储[error=error Domain=UNErrorDomain=UNErrorDomain Code=1401“通知没有面向用户的内容”UserInfo={NSLocalizedDescription=通知没有面向用户的内容}]
Jun 26 01:08:46 MP dasd(DuetactivitySchedulerDamon)[9752]:提交的活动:com.apple.pushLaunch.com.mydomain.myapp2:2AD94B
Jun 26 01:08:46 MP dasd(DuetracivitySchedulerDamon)[9752]:守护进程取消活动:{(
com.apple.pushLaunch.com.mydomain.myapp2:2AD94B
)}
6月26日01:08:46 MP dasd(DuetracivitySchedulerDamon)[9752]:取消:com.apple.pushLaunch.com.mydomain.myapp2:2AD94B!
因此,iOS似乎会收到通知以及数据(
hasContentAvailable:1
),但不会将其发送到我的应用程序

还有,为什么会出现此错误:
:忽略没有警报、声音或徽章的通知
。。。无声通知没有警报/声音/标识

FirebaseMessaging(3.0.2)在11.4上的推送通知存在问题 尝试使用其他版本,如3.0.6

FirebaseMessaging(3.0.2)在11.4上出现推送通知问题
尝试使用其他版本,如3.0.6,我也有类似的问题。我将优先级设置为高,并添加了以下有效负载

    let message = {
      notification: {
        title: 'title',
        body: `title`
  }
};
   let options = {
     priority: "high",
     timeToLive: 60 * 60 * 24
};

到目前为止,它运行良好。

我也遇到过类似的问题。我将优先级设置为高,并添加了以下有效负载

    let message = {
      notification: {
        title: 'title',
        body: `title`
  }
};
   let options = {
     priority: "high",
     timeToLive: 60 * 60 * 24
};
<