|
|
@@ -26,6 +26,8 @@
|
|
|
#import "UIApplication+APPLocalNotification.h"
|
|
|
#import "UILocalNotification+APPLocalNotification.h"
|
|
|
|
|
|
+ @import UserNotifications;
|
|
|
+
|
|
|
@interface APPLocalNotification ()
|
|
|
|
|
|
// Retrieves the application state
|
|
|
@@ -691,26 +693,50 @@
|
|
|
*/
|
|
|
- (void) fireEvent:(NSString*)event notification:(UILocalNotification*)notification
|
|
|
{
|
|
|
- NSString* js;
|
|
|
- NSString* params = [NSString stringWithFormat:
|
|
|
- @"\"%@\"", self.applicationState];
|
|
|
+ if (IsAtLeastiOSVersion(@"10.0")) {
|
|
|
+ UNMutableNotificationContent *content = [[UNMutableNotificationContent alloc] init];
|
|
|
+ content.title = [NSString localizedUserNotificationStringForKey:notification.alertTitle arguments:nil];
|
|
|
+ content.body = [NSString localizedUserNotificationStringForKey:notification.alertBody
|
|
|
+ arguments:nil];
|
|
|
+ content.sound = [UNNotificationSound defaultSound];
|
|
|
+
|
|
|
+ /// 4. update application icon badge numberß
|
|
|
+ //content.badge = @([[UIApplication sharedApplication] applicationIconBadgeNumber] + 1);
|
|
|
+ // Deliver the notification in five seconds.
|
|
|
+ UNTimeIntervalNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger
|
|
|
+ triggerWithTimeInterval:1.f repeats:NO];
|
|
|
+ UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:@"FiveSecond"
|
|
|
+ content:content trigger:trigger];
|
|
|
+ /// 3. schedule localNotification
|
|
|
+ UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
|
|
|
+ [center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
|
|
|
+ if (!error) {
|
|
|
+ NSLog(@"add NotificationRequest succeeded!");
|
|
|
+ }
|
|
|
+ }];
|
|
|
+ } else {
|
|
|
|
|
|
- if (notification) {
|
|
|
- NSString* args = [notification encodeToJSON];
|
|
|
+ NSString* js;
|
|
|
+ NSString* params = [NSString stringWithFormat:
|
|
|
+ @"\"%@\"", self.applicationState];
|
|
|
|
|
|
- params = [NSString stringWithFormat:
|
|
|
- @"%@,'%@'",
|
|
|
- args, self.applicationState];
|
|
|
- }
|
|
|
+ if (notification) {
|
|
|
+ NSString* args = [notification encodeToJSON];
|
|
|
|
|
|
- js = [NSString stringWithFormat:
|
|
|
- @"cordova.plugins.notification.local.core.fireEvent('%@', %@)",
|
|
|
- event, params];
|
|
|
+ params = [NSString stringWithFormat:
|
|
|
+ @"%@,'%@'",
|
|
|
+ args, self.applicationState];
|
|
|
+ }
|
|
|
|
|
|
- if (deviceready) {
|
|
|
- [self.commandDelegate evalJs:js];
|
|
|
- } else {
|
|
|
- [self.eventQueue addObject:js];
|
|
|
+ js = [NSString stringWithFormat:
|
|
|
+ @"cordova.plugins.notification.local.core.fireEvent('%@', %@)",
|
|
|
+ event, params];
|
|
|
+
|
|
|
+ if (deviceready) {
|
|
|
+ [self.commandDelegate evalJs:js];
|
|
|
+ } else {
|
|
|
+ [self.eventQueue addObject:js];
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|