Ios Firebase SDK未提供后台通知
我正在尝试使用Firebase向我的应用程序发送后台推送通知。iOS显示通知,但未对我的Ios Firebase SDK未提供后台通知,ios,swift,google-cloud-messaging,Ios,Swift,Google Cloud Messaging,我正在尝试使用Firebase向我的应用程序发送后台推送通知。iOS显示通知,但未对我的AppDelegate调用-application:didReceiveMemotentification:fetchCompletionHandler: 当设备连接到调试器时,当设备收到通知时,我会收到以下日志消息 2016-07-27 15:13:08.234:确认消息接收通知处于无效状态2 2016-07-27 15:13:08.234 MyApp[2513:1130209]警告:应用程序委托收到了对的
AppDelegate
调用-application:didReceiveMemotentification:fetchCompletionHandler:
当设备连接到调试器时,当设备收到通知时,我会收到以下日志消息
2016-07-27 15:13:08.234:确认消息接收通知处于无效状态2
2016-07-27 15:13:08.234 MyApp[2513:1130209]警告:应用程序委托收到了对的调用-应用程序:DidReceiveMemoteNotification:fetchCompletionHandler:但从未调用完成处理程序
在我看来,Firebase正在快速运行-应用程序:DidReceiveMemotentification:fetchCompletionHandler:
,但未能调用我的实现,因为它认为应用程序处于无效状态,而实际情况并非如此
通知负载也没有什么特别的地方会引起问题
{
gcm.message_id: 0:1469652824137045%3aef914a3aef914a,
objectId: 7,
aps: {
alert: "Your object has been updated"
content-available: 1
}
}
为什么Firebase会说应用程序处于无效状态,并且无法将通知转发给我的
AppDelegate
?我想你可能误解了错误——发生此错误是因为调用了你的应用程序的DidReceivereMotentification
处理程序
问题可能是在您的didReceiveMemotentification
处理程序中,您需要确保使用正确的UIBackgroundFetchResult
类型调用completionHandler
。(如果使用Swift,它可能看起来像completionHandler(.NewData)
)
这基本上就是你的应用程序让iOS知道它已经完成了你发送远程通知时希望它完成的任何工作。如果您不这样做,iOS将对您的应用程序感到不满意,并可能在将来停止转发它的通知。我已在我的实现中设置了一个断点,并且从未调用过它。我最终禁用了他们的swizzing以使其正常工作,这是他们的支持建议。你为什么说需要使用
NewData
?NoData
用于什么?