iOS–;为同一通知触发了两次UILocalNotification
如果我安排两个iOS–;为同一通知触发了两次UILocalNotification,ios,uilocalnotification,Ios,Uilocalnotification,如果我安排两个UILocalNotifications,并将它们设置为在完全相同的fireDate点火。然后在fireDate的设备上(这不是模拟器bug),应用程序:didReceiveLocalNotification:将触发4次(每次通知2次)。这是已知的bug吗?因为我找不到有关它的任何信息。请将错误报告给 话虽如此,之前已经注意到,虽然模拟器中存在缺陷,但设备上似乎也存在缺陷 请参阅有关此SO问题的评论和答案:在我的应用程序中尝试此功能: -(IBAction)setRemind:(i
UILocalNotification
s,并将它们设置为在完全相同的fireDate点火。然后在fireDate的设备上(这不是模拟器bug),应用程序:didReceiveLocalNotification:
将触发4次(每次通知2次)。这是已知的bug吗?因为我找不到有关它的任何信息。请将错误报告给
话虽如此,之前已经注意到,虽然模拟器中存在缺陷,但设备上似乎也存在缺陷
请参阅有关此SO问题的评论和答案:在我的应用程序中尝试此功能:
-(IBAction)setRemind:(id)sender{
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
//Gets our picker
NSDate *selectedTime = [datePicker date];
strDate2 = [dateFormatter2 stringFromDate:selectedTime];
NSDate *Date=[dateFormatter2 dateFromString:strDate2];
NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit ) fromDate:Date];
// Set up the fire time
NSDateComponents *dateComp = [[NSDateComponents alloc] init];
[dateComp setDay:[dateComponents day]];
[dateComp setMonth:[dateComponents month]];
[dateComp setYear:[dateComponents year]];
[dateComp setHour:9];
[dateComp setMinute:00];
[dateComp setSecond:00];
[dateComp release];
NSDate *date = [calendar dateFromComponents:dateComp];
[self scheduleAlarmForDate:date message:txtDescri.text];
}
-(IBAction)scheduleAlarmForDate:(NSDate*)date message:(NSString*)msg
{
//====== TO SEE OLD NOTIFI=======
UIApplication *Ap = [UIApplication sharedApplication];
NSArray *arr = [Ap scheduledLocalNotifications];
NSLog(@"Old Notifications :>> %@",arr);
UIApplication* app = [UIApplication sharedApplication];
UILocalNotification *alarm = [[UILocalNotification alloc] init];
// Create a new notification
alarm.fireDate = date;
NSLog(@"fireDate IS >> %@", alarm.fireDate);
alarm.timeZone = [NSTimeZone localTimeZone];
alarm.alertBody = msg;
NSLog(@"msg IS >> %@",msg);
alarm.alertAction = @"Show";
alarm.repeatInterval = 0;
alarm.soundName = UILocalNotificationDefaultSoundName;
alarm.applicationIconBadgeNumber = 1;
[app scheduleLocalNotification:alarm];
[alarm release];
}
我希望这对你有帮助