ios本地通知

原创 2016年08月29日 23:15:12

UILocalNotification常用属性

 

 fireDate;          通知的触发时间

 timeZone;          通知所在时区,如果指定时区,可以自行调整时间

 alertBody;         通知的正文

 soundName;         通知播放的声音,如果用UILocalNotificationDefaultSoundName,使用系统默认声音

 applicationIconBadgeNumber; 应用程序图标

 userInfo;          数据字典



- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
    {
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings
                                                                             settingsForTypes:(UIUserNotificationTypeSound |UIUserNotificationTypeAlert | UIUserNotificationTypeBadge)
                                                                             categories:nil]];
        
        
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }
    else
    {
        //ios7注册推送通知
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
         (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
    }


    // 截获本地通知,用户通过通知的横幅点击进入系统,字典中才能找到本地通知

    UILocalNotification *notification = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey];

    

    // 判断通知是否存在

    if (notification) {

        NSLog(@"%@", notification.userInfo);

        [notification.userInfo writeToFile:@"/users/apple/Desktop/123.plist" atomically:YES];

    }

    

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.window.backgroundColor = [UIColor whiteColor];

    

    

    [self.window makeKeyAndVisible];

    return YES;

}


#pragma mark - 进入前台,清除右上角图标

- (void)applicationWillEnterForeground:(UIApplication *)application

{

    [application setApplicationIconBadgeNumber:0];

}


#pragma mark - 进入后台

- (void)applicationDidEnterBackground:(UIApplication *)application

{

    [self loadNotification];

}


#pragma mark - 创建本地通知

- (void)loadNotification

{

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

    // 5秒钟之后触发

    notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];

    notification.alertBody = @"出大事了";

    notification.soundName = UILocalNotificationDefaultSoundName;

    notification.applicationIconBadgeNumber = 100;

    

    notification.userInfo = @{@"userName": @"马大哈", @"age": @(18)};

    

    // 要调用本地通知,需要通过UIApplication来统一调度

    [[UIApplication sharedApplication]scheduleLocalNotification:notification];

}

iOS开发之NSNotificationCenter(通知)使用介绍

iOS开发是在面向对象的基础上的,而且大部分使用的模式是MVC模式,所以数据一般不会在控制器之间直接传递,目前不同对象之间通信方式主要有通知,代理,闭包。 NSNotifacationCenter(通...
  • qq_14920635
  • qq_14920635
  • 2016年11月04日 19:22
  • 3268

iOS开发-iOS8.0之后获取用户通知权限

现如今的iOS开发中,除了大厂的老程序还需要兼容iOS8之前的系统版本之外,新项目基本都只支持到iOS 8 了, 这就意味着之前版本获取用户通知权限的方式不再试用,系统文件是这么描述的 // Ret...
  • James_1_2_1_1
  • James_1_2_1_1
  • 2017年06月27日 17:52
  • 1209

iOS中的自定义通知和通知传值的简单介绍

一、通知 通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信。实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象。通知中心是基于观察...
  • wei78008023
  • wei78008023
  • 2015年05月15日 14:13
  • 2235

比较iOS的三种通知机制

1代理delegation 2通知中心Notification Center 3键值观察key value observing,KVO 下面分析比较一下这三者: 上面的三种模式是什么? ...
  • jingyezhige
  • jingyezhige
  • 2015年11月12日 14:56
  • 751

iOS 10前后两种本地通知

iOS 10前后的两种不同实现方式,注意是本地通知,不是远程通知
  • Cloudox_
  • Cloudox_
  • 2017年07月14日 15:45
  • 1580

iOS8 本地通知基本用法

1、本地通知的定义和使用: 本地通知是UILocalNotification的实例,主要有三类属性: scheduled time,时间周期,用来指定iOS系统发送通知的日期和时间; ...
  • Xia0Liang
  • Xia0Liang
  • 2015年07月30日 10:20
  • 1451

iOS通知和KVO的区别和用法

【NSNotification、delegate和KVO的区别】 1.效率肯定是delegate比nsnotification高。 2. delegate方法比notification更加直接,最...
  • mrSunHR
  • mrSunHR
  • 2015年06月26日 17:38
  • 2171

iOS开发-本地通知与远程通知

App开发中经常会使用到推送,苹果和安卓区别是苹果用自己的APNS推送服务器,不论我们是集成第三方推送  还是用苹果系统的推送都要经过APNS推送服务器。 目前市场上比较流行的几个第三方推送: ...
  • u012701023
  • u012701023
  • 2016年12月05日 16:21
  • 2192

iOS监听模式系列之本地通知Notification

本地通知 本地通知是由本地应用触发的,它是基于时间行为的一种通知形式,例如闹钟定时、待办事项提醒,又或者一个应用在一段时候后不使用通常会提示用户使用此应用等都是本地通知。创建一个本地通知通常分为以下几...
  • hbblzjy
  • hbblzjy
  • 2016年06月07日 12:32
  • 1895

iOS本地通知的实现

/*      @property(nonatomic,copy) NSDate *fireDate; // 设置本地推送的时间      @property(nonatomic,copy) N...
  • qq_27074387
  • qq_27074387
  • 2015年11月12日 14:58
  • 588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios本地通知
举报原因:
原因补充:

(最多只允许输入30个字)