My question is with this notification I have for my application.
I am using a reminder notification for my music app, so people can get a notification two hours before I play a show. I tested this similar code earlier but with integer components rather than a NSString date, and it worked. However, I need to be using a string in this particular instance.
To me, everything looks like it should be working. The NSLog that's located within the singleton outputs the correct information. E.G. =
NSLog(@"Notification will be shown on: 2014-07-18 11:03:00 +0000)
So why am I not getting a notification? I've been trying for awhile, and have hit road blocks all day. Would appreciate some assistance.
Thank you!
- (void)scheduleNotificationForDate:(NSDate *)date {
// Here we cancel all previously scheduled notifications
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = date;
NSLog(@"Notification will be shown on: %@",localNotification.fireDate);
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = [NSString stringWithFormat:@"Aurora Radio plays in 2 hours!"];
localNotification.alertAction = NSLocalizedString(@"View details", nil);
/* Here we set notification sound and badge on the app's icon "-1"
means that number indicator on the badge will be decreased by one
- so there will be no badge on the icon
*/
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
IBAction=
-(IBAction)setReminder {
// Setting all the information about our date
NSString * dateString = @"2014-07-18 11:03:00";
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *myNewDate = [dateFormatter dateFromString:dateString];
[self scheduleNotificationForDate:myNewDate];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Aurora Radio"
message:@"Alarm has been set two hours prior to performance!"
delegate:self
cancelButtonTitle:@"Sounds good bros, see you later."
otherButtonTitles:nil];
[alert show];
}