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。我并不需要它去有效载荷。
有什么建议吗? 谢谢
答
远程通知将根据aps中“徽章”的数量自动设置徽章。
例如:
{"aps":{"alert":"New push","sound":"default","badge":1}}
答
晚了一些,但它可能会帮助别人。
可以触发- application:didReceiveRemoteNotification:
当你的应用程序在后台使用以下两个步骤:响应
- 设置所需的背景模式到应用软件下载的内容,推动在
Info.plist
文件通知 - 将
"content-available": 1
添加到您的通知负载。
这将调用- application:didReceiveRemoteNotification:
并允许您在后台处理通知(即刷新应用程序的内容等)。
希望这会有所帮助!
您不需要通过代码设置徽章,如果您在aps中添加了“徽章”,它将自动设置。 – KudoCC 2014-10-22 09:58:41
好吧,你是对的...请回答我的问题,我会检查你的答案是否正确;)号码为 – pekpon 2014-10-22 10:07:16