我知道这个问题很典型,但是我错过了一些东西而且我不知道是什么 .
我在iOS 7中有一个简单的应用程序 . 使用Xcode 6.我正在开发objective-c .
我想接收推送通知并将我的应用图标徽章更新为(1)但是当应用在后台时我无法触发didReceiveRemoteNotification方法,因此我无法设置徽章编号 . 这不是我的推送通知和徽章的第一个应用程序,但我做不到...
我的代码:
- (void)application:(UIApplication)application didReceiveRemoteNotification:(NSDictionary)userInfo**
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
NSLog(@"RECEIVING NOTIFICATION");
当我在应用程序上时,徽章已正确设置并且日志已打印,但如果我处于后台模式,则不会触发该方法 .
我的有效载荷APNS
{"aps":{"alert":"New push","sound":"default"}}
我想将徽章设置为1.我在de payload上不需要它 .
有什么建议?谢谢
2 回答
远程通知将根据aps中的“徽章”数自动设置徽章 .
例如:
{"aps":{"alert":"New push","sound":"default","badge":1}}
有点晚了,但它可能会帮助别人 .
您可以按照以下两个步骤在应用程序处于后台时触发
- application:didReceiveRemoteNotification:
:在
Info.plist
文件中将 Required background modes 设置为 App downloads content in response to push notifications将
"content-available": 1
添加到通知有效负载中 .这将调用
- application:didReceiveRemoteNotification:
并允许您在后台处理通知(即刷新应用程序的内容等) .希望这可以帮助!