重复间隔设置为每小时时 UILocalNotification 应用程序崩溃
Posted
技术标签:
【中文标题】重复间隔设置为每小时时 UILocalNotification 应用程序崩溃【英文标题】:UILocalNotification app crash when repeat interval set to hourly 【发布时间】:2013-02-14 13:41:42 【问题描述】:其他重复间隔工作正常,但是当我将通知设置为每小时重复一次并且计时器关闭时,应用程序只会冻结,并且在我清除所有本地通知之前无法重新打开应用程序。
switch(repeatType)
case kRepeatHourly:
notif.repeatInterval = NSHourCalendarUnit;
break;
case kRepeatDaily:
notif.repeatInterval = NSDayCalendarUnit;
break;
case kRepeatWeekly:
notif.repeatInterval = NSWeekCalendarUnit;
break;
case kRepeatMonthly:
notif.repeatInterval = NSMonthCalendarUnit;
break;
case kRepeatAnnually:
notif.repeatInterval = NSYearCalendarUnit;
break;
default:
break;
【问题讨论】:
能否请您使用 NSLog RepeatHourly 数据和时间。我认为时间不会更新 你的意思是NSLog(@"Notif: %@", notif); ? 是打印 [datePicker 日期]; 我设置了通知在一分钟内触发,并设置每小时重复间隔,这是设置UILocalNotification时通知描述的NSLog:pastebin.com/xxBYmUAt 对不起,这个 NSLog 是我测试分钟重复间隔的时候,但仍然发生了崩溃 【参考方案1】:- (void)scheduleNotification
[reminderText resignFirstResponder];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
Class cls = NSClassFromString(@"UILocalNotification");
if (cls != nil)
UILocalNotification *notif = [[cls alloc] init];
notif.fireDate = [datePicker date];
notif.timeZone = [NSTimeZone defaultTimeZone];
notif.alertBody = @"Did you forget something?";
notif.alertAction = @"Show me";
notif.soundName = UILocalNotificationDefaultSoundName;
notif.applicationIconBadgeNumber = 1;
NSInteger index = [scheduleControl selectedSegmentIndex];
switch (index)
case 1:
notif.repeatInterval = NSMinuteCalendarUnit;
break;
case 2:
notif.repeatInterval = NSHourCalendarUnit;
break;
case 3:
notif.repeatInterval = NSDayCalendarUnit;
break;
case 4:
notif.repeatInterval = NSWeekCalendarUnit;
break;
default:
notif.repeatInterval = 0;
break;
NSDictionary *userDict = [NSDictionary dictionaryWithObject:reminderText.text
forKey:kRemindMeNotificationDataKey];
notif.userInfo = userDict;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
[notif release];
更多详情下载源代码表格reference link here
【讨论】:
能否请您下载演示项目并检查一下。以上是关于重复间隔设置为每小时时 UILocalNotification 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
UILocalNotification如何将repeatInterval设置为每两天?
在 Node.js 中为 postgres 表中的每一行以不同的间隔为每一行运行重复任务