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不支持增量操作徽章;生成的每個推送通知應該設置當前值應該是什麼。 (主要是因爲推送通知不能保證被設備接收)因此,你需要有一個服務器/服務器來跟蹤每個用戶的徽章,不幸。