|
@@ -699,26 +699,25 @@
|
|
|
content.body = [NSString localizedUserNotificationStringForKey:notification.alertBody
|
|
content.body = [NSString localizedUserNotificationStringForKey:notification.alertBody
|
|
|
arguments:nil];
|
|
arguments:nil];
|
|
|
content.sound = [UNNotificationSound defaultSound];
|
|
content.sound = [UNNotificationSound defaultSound];
|
|
|
-
|
|
|
|
|
- NSDate *fireDate = notification.fireDate;
|
|
|
|
|
-
|
|
|
|
|
- NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
+ NSDate *fireDate = notification.fireDate;
|
|
|
|
|
+ if(fireDate==nil) {
|
|
|
|
|
+ fireDate = [NSDate date];
|
|
|
|
|
+ }
|
|
|
|
|
+ NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
|
|
|
// Extract all date components into dateComponents
|
|
// Extract all date components into dateComponents
|
|
|
- NSDateComponents *dateComponents = [gregorianCalendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit
|
|
|
|
|
- fromDate:fireDate];
|
|
|
|
|
|
|
+ NSDateComponents *dateComponents = [gregorianCalendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit
|
|
|
|
|
+ | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit
|
|
|
|
|
+ fromDate:fireDate];
|
|
|
|
|
+
|
|
|
/// 4. update application icon badge number
|
|
/// 4. update application icon badge number
|
|
|
- content.badge = @([[UIApplication sharedApplication] applicationIconBadgeNumber] + 1);
|
|
|
|
|
|
|
+ //content.badge = @([[UIApplication sharedApplication] applicationIconBadgeNumber] + 1);
|
|
|
|
|
|
|
|
// Deliver the notification at the fire date.
|
|
// Deliver the notification at the fire date.
|
|
|
UNCalendarNotificationTrigger *trigger = [UNCalendarNotificationTrigger triggerWithDateMatchingComponents:dateComponents repeats:NO];
|
|
UNCalendarNotificationTrigger *trigger = [UNCalendarNotificationTrigger triggerWithDateMatchingComponents:dateComponents repeats:NO];
|
|
|
|
|
|
|
|
- NSString *identifier = @"DefaultNotificationIdentifier";
|
|
|
|
|
- if(notification.userInfo!=nil && [notification.userInfo objectForKey:@"id"]!=nil) {
|
|
|
|
|
- identifier = [notification.userInfo objectForKey:@"id"];
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:identifier content:content trigger:trigger];
|
|
|
|
|
|
|
+ UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:@"DefaultNotificationIdentifier" content:content trigger:trigger];
|
|
|
|
|
|
|
|
/// 3. schedule localNotification
|
|
/// 3. schedule localNotification
|
|
|
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
|
|
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
|