消息推送也称为消息通知,是一种实际提醒机制,通知用户一件重要的事情发生或者完成了。
消息通知分为本地消息通知和远程消息通知。本地消息通知由App应用自己发起,APP应用是消息的提供者Provider源头;同时App应用也是消息的接收者Receiver。
远程消息中消息的提供者(Provider)通常是由一个Server或者另外独立的一个应用来产生。Provider将消息将消息投递到Apple的消息服务Server(APNs).再由APNs推送到用户的设备(手机,电脑,平板,TV),设备内部在转发到应用,因此远程消息又称为推送消息。
本地消息由本地用户消息中心NSUserNotificationCenter发起,一个应用最多支持64个本地通知。
注册本地通知
NSUserNotification *notification = [[NSUserNotification alloc] init];
notification.title = @"Message";
notification.informativeText = @"I have a dream";
//. 消息附加数据
notification.userInfo = @{@"messageId":@(1000)};
//. 注册的时间
notification.deliveryDate = [NSDate dateWithTimeIntervalSinceNow:10];
// 重复的时间间隔,5分钟一次
notification.deliverRepeatInterval.minute = 5;
//. 设置代理
[NSUserNotificationCenter defaultU