1

私のアプリには、ローカル通知をトリガーするオブジェクトがあります。

アプリがバックグラウンドにある場合、ローカル通知は、起動する時間になると起動され、正常に機能します。

何らかの理由で、バッジ番号が更新されません。

Notification オブジェクトを設定するときは、次のコードを使用します。

UILocalNotification* localNotification = [[UILocalNotification alloc] init];

localNotification.fireDate = obj.noteMeDate; //obj is an object for which the notification is created...
localNotification.alertBody = [NSString stringWithFormat:@"Note: %@", obj.title];
localNotification.alertAction = @"Show Me";
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1; //this is NOT WORKING...

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

誰?

4

2 に答える 2

0

バッジの数を増やすことはできません。特定の数にのみ設定できます。通知をスケジュールしている時点でapplicationIconBadgeNumberは、(アプリケーションをフォアグラウンドで実行しているため) は 0 であるため、すべての通知はバッジに 1 しか表示されません。

于 2013-10-15T09:44:56.053 に答える
0

技術的には、バッジ アイコンを直接インクリメントすることはできませんが、方法はあります。

int num = [UIApplication sharedApplication].applicationIconBadgeNumber;

[UIApplication sharedApplication].applicationIconBadgeNumber = num + 1;
于 2013-12-20T06:22:22.157 に答える