本地推送UILocalNotification

16 篇文章 0 订阅

本地推送,顾名思义,就是不需要网络连接,在客户端本地发送推送通知给用户。

主要分为两个步骤: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
}






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值