Parcourir la source

Fix issue when adding multiple notifications

Sebastián Katzer il y a 11 ans
Parent
commit
ed982a7690
1 fichiers modifiés avec 8 ajouts et 9 suppressions
  1. 8 9
      src/ios/APPLocalNotification.m

+ 8 - 9
src/ios/APPLocalNotification.m

@@ -69,15 +69,21 @@
  */
 - (void) add:(CDVInvokedUrlCommand*)command
 {
+    NSArray* notifications = command.arguments;
+
     [self.commandDelegate runInBackground:^{
-        for (NSDictionary* options in command.arguments) {
+        for (NSMutableDictionary* options in notifications) {
             UILocalNotification* notification;
 
             notification = [[UILocalNotification alloc]
                             initWithOptions:options];
 
-            [self scheduleLocalNotification:notification];
+            [self scheduleLocalNotification:[notification copy]];
             [self fireEvent:@"add" localNotification:notification];
+
+            if (notifications.count > 1) {
+                [NSThread sleepForTimeInterval:0.01];
+            }
         }
 
         [self execCallback:command];
@@ -267,13 +273,6 @@
 {
     [self cancelForerunnerLocalNotification:notification];
 
-    NSString* state = self.applicationState;
-
-    if ([state isEqualToString:@"background"]) {
-        [[UIApplication sharedApplication]
-         presentLocalNotificationNow:notification];
-    }
-
     [[UIApplication sharedApplication]
      scheduleLocalNotification:notification];
 }