アプリケーションのバッジ番号で今日の日付を表示しようとしていますが、アプリケーションがローカル通知を発行したときにこの日付を更新する必要がありますが、ローカル通知によって日付が更新されないという問題があります。プロジェクトが作成された日の日付のみを表示します。ここに私のコードです:ローカル通知を更新するBadgeNumber
- (void) viewDidLoad {
[self notification];
}
- (void) notification {
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *now = [NSDate date];
NSDateComponents *componentsForFireDate = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit| NSSecondCalendarUnit) fromDate: now];
[componentsForFireDate year];
[componentsForFireDate month];
[componentsForFireDate day];
[componentsForFireDate setHour:1];
[componentsForFireDate setMinute:2];
[componentsForFireDate setSecond:1];
NSDate *fireDateOfNotification = [calendar dateFromComponents: componentsForFireDate];
UILocalNotification *notification = [[UILocalNotification alloc]init];
notification.fireDate = fireDateOfNotification;
notification.timeZone = [NSTimeZone localTimeZone]; notification.repeatInterval= NSDayCalendarUnit;
NSString *date = [self showGregorianFullDate];
notification.alertAction = @"View";
notification.soundName = UILocalNotificationDefaultSoundName;
//updating badge number :
NSCalendar* Calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *Components = [Calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)fromDate:[NSDate date]];
int a = [Components day];
notification.applicationIconBadgeNumber = a;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
}
このコードを実行すると、通知がスケジュールされた日付を表示する必要があります。その時刻に一度だけスケジュールしたのでしょうか? –
通知は毎日更新され、日付が更新されます!私は25時間ごとに通知をスケジュールしました!現在の日付を取得する –
ソリューションplzを見つけましたか?私はいくつかのアプリで同じ考えを達成したい..ありがとう – hafedh