0

好吧,我有点卡住如何工作。didReceiveRemoteNotification和徽章号

First ill向您展示代码。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    NSString *badge = [apsInfo objectForKey:@"badge"]; 
    NSLog(@"Received Push Badge: %@", badge); 
    application.applicationIconBadgeNumber = [[apsInfo objectForKey:@"badge"] integerValue]; 
} 

对于大量的混乱,代码按钮不起作用的遗憾。

现在我的推送网关每次都提供一个数字,用于发送多少警报等,但是如果有以前的警报,我如何获得此代码只是将+1添加到列表中而不是仅设置新的数

回答

1

你应该试试这个:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    NSString *badge = [apsInfo objectForKey:@"badge"]; 
    NSLog(@"Received Push Badge: %@", badge); 
    int currentBadgeNumber = application.applicationIconBadgeNumber; 
    currentBadgeNumber += [[apsInfo objectForKey:@"badge"] integerValue]; 
    application.applicationIconBadgeNumber = currentBadgeNumber; 
} 
1

APNS不支持增量操作徽章;生成的每个推送通知应该设置当前值应该是什么。 (主要是因为推送通知不能保证被设备接收)因此,你需要有一个服务器/服务器来跟踪每个用户的徽章,不幸。