サーバー側から apns サーバーに通知を送信しています。バッジの処理中に小さな問題に直面していました。ユーザーが通知センターで通知を見た場合、バッジ番号を減らす必要があります。アプリが既に実行されている場合、バッジは必要ないと思います。でもバッジ番号はいつも「1」
サーバー側から Badge="1" を送信しています。アプリに特定のバッジ番号があることをサーバーに通知する方法、バッジ番号を知る方法。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"%@",userInfo);
UIApplicationState state = [application applicationState];
[[UIApplication sharedApplication]setApplicationIconBadgeNumber:1];
if (state == UIApplicationStateActive) {
[[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];
NSString *message = [[userInfo valueForKey:@"aps"] valueForKey:@"alert"];
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@""
message:message
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[alertView show];
[alertView release];
}
}