首页 » iOS编程(第4版) » iOS编程(第4版)全文在线阅读

《iOS编程(第4版)》6.5 添加本地通知

关灯直达底部

接下来使用本地通知(local notification)实现催眠提醒功能。本地通知用于向用户提示一条消息——即使应用没有运行,用户也可以收到本地通知。

应用还可以通过后台服务器实现推送通知(push notification)。有关推送通知的技术细节请参考Apple的Local and Push Notification Programming Guide(本地通知和推送通知编程指南)。

实现本地通知非常简单,首先需要创建一个UILocalNotification对象并设置其显示内容和提醒时间,然后调用UIApplication单例对象的scheduleLocalNotification:方法注册该通知就可以了。

实现addReminder:方法,代码如下:

- (IBAction)addReminder:(id)sender

{

NSDate *date = self.datePicker.date;

NSLog(@"Setting a reminder for %@", date);

UILocalNotification *note = [[UILocalNotification alloc] init];

note.alertBody = @"Hypnotize me!";

note.fireDate = date;

[[UIApplication sharedApplication] scheduleLocalNotification:note];

}

构建并运行应用,首先选中Reminder标签项;然后选择一个距离现在较近的提醒时间,以便更快收到催眠提醒;最后点击Remind Me按钮。为了看到本地通知,必须关闭HypnoNerd应用,请点击设备底部的Home键或者选择模拟器菜单Hardware→Home(硬件→首页)。当之前选择的提醒时间到了之后,屏幕顶部会出现一个通知栏(见图6-18),点击通知栏就可以启动HypnoNerd应用。

图6-18 本地通知

可能读者已经注意到了一个问题:用户可以选择一个过去的时间。之后的章节会设置datePicker,只允许用户选择未来的时间。