I ran into the same problem and finally I got a solution why this happened.
if fireDate is not installed in the notification object. its work is great, but when you try to get a list of notifications, it is always empty.
here the notification object without setting the date by fire
<UIConcreteLocalNotification: 0x7fc1637aedb0>{fire date = (null), time zone = Asia/Kolkata (GMT+5:30) offset 19800, repeat interval = 0, repeat count = UILocalNotificationInfiniteRepeatCount, next fire date = Tuesday, September 5, 2017 at 3:31:44 PM India Standard Time, user info = (null)}
here is the object of notifications with the date of fire
<UIConcreteLocalNotification: 0x7f96715d0ff0>{fire date = Tuesday, September 5, 2017 at 3:35:17 PM India Standard Time, time zone = Asia/Kolkata (GMT+5:30) offset 19800, repeat interval = 0, repeat count = UILocalNotificationInfiniteRepeatCount, next fire date = Tuesday, September 5, 2017 at 3:35:17 PM India Standard Time, user info = (null)}
here is a code that you can comment on the date of fire and check it different
let localNotification = UILocalNotification() **//Comment ..firedate and test it** localNotification.fireDate = NSDate(timeIntervalSinceNow: 5) localNotification.alertBody = "new Blog Posted at iOScreator.com" localNotification.timeZone = NSTimeZone.defaultTimeZone() localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1 UIApplication.sharedApplication().scheduleLocalNotification(localNotification) print(localNotification) for notification in UIApplication.sharedApplication().scheduledLocalNotifications! as [UILocalNotification] { print(notification) }
source share