iOS通知的简单使用

     iOS里面的推送分为本地推送和远程推送,远程推送比较繁琐,需要一系列证书和diviceToken,才能在真机上测试,也只能在真机上测试。如果不用第三方的推送服务就要自己实现服务器。所以就先练练本地推送了,本地是可以在模拟器里面实现的,这仅仅是一个简单的使用,因为iOS系统对应用做了很大的限制(店大欺客啊),比如应用不能后台运行,那只能“曲线救国”了,使用本地推送来告诉用户,我们的应用需要他。

1.先在viewDidLoad方法里,创建开关空键并绑定事件

    _app = [UIApplication sharedApplication];//在.m文件声明,类型为UIApplication
    UISwitch *sw = [[UISwitch alloc]initWithFrame:CGRectMake(0, 60, 320, 40)];
    [self.view addSubview:sw];
    [sw addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];

2.在绑定的事件里处理推送

-(void)change:(UISwitch*)sw
{
    if (sw.on)
    {
        UILocalNotification *noti = [[UILocalNotification alloc]init];
        
        noti.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
        noti.timeZone = [NSTimeZone defaultTimeZone];
        noti.repeatInterval = kCFCalendarUnitMinute;
        noti.alertAction = @"打开";
        noti.hasAction = YES;
        noti.alertBody = @"今天是国庆节,祝你节日快乐";
        noti.applicationIconBadgeNumber = 1;
        NSDictionary *info = @{@"key":@"511"};
        noti.userInfo = info;
        [_app scheduleLocalNotification:noti];
    }
    else
    {
        NSArray *localArray = [_app scheduledLocalNotifications];
        if (localArray)
        {
            for (UILocalNotification *noti in localArray)
            {
                NSDictionary *dic = noti.userInfo;
                if (dic)
                {
                    if ([dic[@"key"] isEqualToString:@"511"])
                    {
                        [_app cancelLocalNotification:noti];
                    }
                }
            }
        }
    }
}

先按Command+Shift+H回到首页,再用Command+L来锁屏

锁屏状态下收到的通知


程序图标:

完整Demo在这里,没有积分请留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值