0

私のアプリケーションでは、リモート通知に登録しました。ユーザーがコンテンツを公開すると、すべてのユーザーが通知を受け取ります。到着した通知の数を数え、アイコンバッジの数を更新しようとしています。

たとえば、ユーザーが3つの通知を受け取った場合、バッジ番号は3になる必要があり、ユーザーがアプリを開くと、バッジ番号は0に戻ります。しかし、バッジを設定する方法がわかりません。私はこれを試しました:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
application.applicationIconBadgeNumber = 2;    
// Handle Socialize notification at foreground
[self handleNotification:userInfo];
}

これに伴う問題は、通知を受け取ったときではなく、通知を受け取ったときに実際にアプリを開いたとき(フォアグラウンドに持ってきたとき)にバッジが2に設定されることです。どうすればこれを解決できますか?助けてくれてありがとう。

編集:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[UIApplication sharedApplication].applicationIconBadgeNumber = [[[userInfo objectForKey:@"aps"] objectForKey: @"1"] intValue];
// Handle Socialize notification at foreground
[self handleNotification:userInfo];
}
4

1 に答える 1

3

通知を送信する前に、サーバーのバッジ数を確認する必要があります。アプリが通知を受信した時点では、通知からの番号がアプリが設定した番号をすぐに上書きするため、正しい番号を判別するには遅すぎます。

于 2013-02-16T13:43:00.370 に答える