iOS 7 - didReceiveRemoteNotification:不在背景上触发

问题描述:

我知道这个问题是典型的,但我错过了一些东西,我不知道是什么。iOS 7 - didReceiveRemoteNotification:不在背景上触发

我有一个简单的应用程序,在iOS 7中。使用Xcode 6.我正在开发Objective-C。

我想接收推送通知并将我的应用程序图标徽章更新为(1),但当应用程序处于后台时,我无法触发didReceiveRemoteNotification方法,因此我无法设置徽章号码。这不是我的第一个应用程序使用推送通知和徽章,但我不能这样做...

我的代码:

- (空)应用程序:(UIApplication的*)应用程序didReceiveRemoteNotification:(NSDictionary的*) USERINFO

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; 
NSLog(@"RECEIVING NOTIFICATION"); 

当我在该应用程序的徽章正确设置好的并打印日志,但是如果我在后台模式是不会被触发的方法。

我载荷APNS

{"aps":{"alert":"New push","sound":"default"}} 

我想设置的徽章manualy为1。我并不需要它去有效载荷。

有什么建议吗? 谢谢

+2

您不需要通过代码设置徽章,如果您在aps中添加了“徽章”,它将自动设置。 – KudoCC 2014-10-22 09:58:41

+0

好吧,你是对的...请回答我的问题,我会检查你的答案是否正确;)号码为 – pekpon 2014-10-22 10:07:16

远程通知将根据aps中“徽章”的数量自动设置徽章。

例如:

{"aps":{"alert":"New push","sound":"default","badge":1}}

晚了一些,但它可能会帮助别人。

可以触发- application:didReceiveRemoteNotification:当你的应用程序在后台使用以下两个步骤:响应

  1. 设置所需的背景模式应用软件下载的内容,推动在Info.plist文件通知
  2. "content-available": 1添加到您的通知负载。

这将调用- application:didReceiveRemoteNotification:并允许您在后台处理通知(即刷新应用程序的内容等)。

希望这会有所帮助!

+0

是否有类似的Firebase(如果你熟悉Firebase) – Ahmadiah 2018-01-03 23:58:11

+0

对不起,我还没有试过Firebase然而。但是,这应该是iOS特定的,而不是绑定到您的通知服务。如果它不适用于Firebase,我会感到惊讶。 – Performat 2018-01-30 10:01:29