我知道这个问题是典型的,但我遗漏了一些东西而且我不知道是什么。
我在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上不需要它。
有什么建议吗? 感谢
答案 0 :(得分:1)
远程通知会根据"徽章"的数量自动设置徽章。在aps。
例如:
{"aps":{"alert":"New push","sound":"default","badge":1}}
答案 1 :(得分:1)
有点晚了,但它可能对其他人有帮助。
通过以下两个步骤,您可以在应用处于后台时触发- application:didReceiveRemoteNotification:
:
Info.plist
文件"content-available": 1
添加到您的通知有效内容中。这将调用- application:didReceiveRemoteNotification:
并允许您在后台处理通知(即刷新应用内容等)。
希望这有帮助!