您的位置:首页 > 产品设计 > UI/UE

本地推送UILocalNotification

2016-02-22 11:58 429 查看
本地推送,顾名思义,就是不需要网络连接,在客户端本地发送推送通知给用户。

主要分为两个步骤:1、本地推送的创建和发送;2、本地推送的移除。

1、创建和发送

- (void)sendLocalNotification
{
UILocalNotification *localNotification = [[UILocalNotification alloc]init];
//触发通知时间
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:1]; //1s后触发通知
//时区
localNotification.timeZone = [NSTimeZone defaultTimeZone];
//触发通知后弹出警告框中显示的内容
localNotification.alertBody = @"通知消息的主体";
//触发通知时的声音(这里使用系统的声音)
localNotification.soundName = UILocalNotificationDefaultSoundName;

//设置通知的用户信息(可以用于移除通知,也可以传其他的值到获取通知的方法中)
localNotification.userInfo = @{
@"key"              :@"value",
};

localNotification.repeatInterval = NSCalendarUnitSecond;
//执行通知计划
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
2、移除

如果不做移除,本地推送会根据初始化的设定,定时循环发送。个人理解,如果需求不是定时推送而是实时的话,移除的时机应当是当收到本地推送后立马移除。需要在 Appdelegate 中,添加系统代理方法 - (void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification

- (void)application:(UIApplication *)application didReceiveLocalNotification:(nonnull UILocalNotification *)notification
{
[application cancelLocalNotification:notification];
//operation after receive local notification
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: