问题:
我的代码到目前为止:
-(void)resetBadgeNotifications:(UIApplication *)application using:(NSDictionary *)notificationInfo{
if( notificationInfo != nil ){
[[NSNotificationCenter defaultCenter] postNotificationName:@"newNotification" object:notificationInfo];
}
application.applicationIconBadgeNumber=1;
application.applicationIconBadgeNumber=0;
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[application cancelAllLocalNotifications];
[[UAPush shared] setBadgeNumber:1];//set to 1
[[UAPush shared] resetBadge];//zero badge
}
我从以下三个地方调用此方法:
didFinishLaunchingWithOptions
didRegisterForRemoteNotificationsWithDeviceToken
applicationDidBecomeActive
在我的功能的最后一行,我显然正在重置UrbanAirship上的徽章。但似乎没有用。如果我遗失了什么,有人可以纠正我吗?
答案 0 :(得分:1)
我原来的回答是针对APNS提供的基本推送通知。 我不知道UrbanAirship有一种机制来跟踪每个令牌的徽章编号。 阅读他们的文档,你可能忘了打电话:
[[UAPush shared] setAutobadgeEnabled:YES]
如果您的应用程序使用Urban Airship的autobadge功能,请启用 客户端autobadge跟踪 application:didFinishLaunchingWithOptions:在更改徽章之前 值:
[[UAPush shared] setAutobadgeEnabled:YES]; [[UAPush共享] resetBadge]; //零徽章