iOS本地推送

通过UILocalNotification 实现本地通知的推送

1 创建通知

UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];  
notification.alertTitle = @"打开广播";
notification.alertBody = @"广播";
notification.repeatInterval = NSCalendarUnitSecond;
//设置本地通知的时区
notification.timeZone = [NSTimeZone defaultTimeZone];
//设置角标的个数
notification.applicationIconBadgeNumber=1;
    
notification.userInfo = @{@"info":@"broadcast"};
notification.soundName = UILocalNotificationDefaultSoundName;

2 取消通知

UIApplication *app = [UIApplication sharedApplication];
NSArray *array = [app scheduledLocalNotifications];        
for (UILocalNotification * local in array) {
    NSDictionary *dic = local.userInfo;
    if ([dic[@"info"]  isEqual: @"broadcast"]) {
        //删除指定的通知
        [app cancelLocalNotification:local];
    }
}
//也可以使用[app cancelAllLocalNotifications]删除所有通知;

3 app跳出到后台时,可在下列方法内添加通知提示

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;

4 app处于运行阶段时

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
    //判断应用程序当前的运行状态是否为激活状态
    if (application.applicationState == UIApplicationStateActive) {
        //只有激活状态 在app运行时本地通知才有效
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • @(〓〓 iOS-实用技术)[远程/本地推送] 作者: Liwx 邮箱: 1032282633@qq.com 目...
    Liwx阅读 8,605评论 6 28
  • 一、简介 目前说的是基于ios10之前,所以有些类是过期的. 推送分为本地推送和远程推送2种。可以在应用没有打开甚...
    JingYa_Lu阅读 4,429评论 0 0
  • 1. 推送通知简介 1.1: 这里说的推送通知跟NSNotification有所区别 NSNotification...
    iYeso阅读 4,664评论 0 0
  • 概念 1.推送通知有5种不同的呈现效果 在屏幕顶部显示一块横幅(显示具体内容) 在屏幕中间弹出一个UIAlertV...
    我是滕先生阅读 19,544评论 20 92
  • iOS中通知机制又叫消息机制,其包括两类:一类是本地通知;另一类是推送通知,也叫远程通知。两种通知在iOS中...
    七里汀阅读 6,330评论 3 2

友情链接更多精彩内容