iOS10通知(二)--发送通知

在新版本的通知框架中,苹果采用网络请求的风格,我们发送一个通知请求,然后将这个请求提交给UNUserNotificationCenter进行处理,然后我们会在 delegate 中接收到这个通知请求对应的 response,另外我们也可以在应用的 extension 中对 request 进行处理。

1、下面是发送通知的实现代码段,此处实现的是一个延时发送的通知类型,有兴趣的可以自行实现余下的两种类型UNCalendarNotificationTrigger和UNLocationNotificationTrigger

-(void)btnClicked
{
    //收起键盘
    [self.timeField resignFirstResponder];
    
    //判断文本框的值是否有效
    NSInteger timeValue = [self.timeField.text integerValue];
    if(timeValue > 0)
    {
        self.label2.text = @"";
        
        //创建通知
        UNMutableNotificationContent *content = [[UNMutableNotificationContent alloc]init];
        content.title = @"iOS 10通知";
        content.body = @"这是一个iOS 10的消息通知...";
        
        //创建一个触发事件
        UNNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:timeValue repeats:NO];
        
        //设置通知的唯一标识
        NSString *requestIdentifer = @"timeIntervalNotification";
        
        //创建通知的请求
        UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:requestIdentifer content:content trigger:trigger];
        [[UNUserNotificationCenter currentNotificationCenter] addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
            if (!error) {
                self.label2.text = error.localizedDescription;
            }
            else
            {
                self.label2.text = @"发送成功...";
            }
        }];
    }
    else
    {
        self.label2.text = @"输入的时间无效";
    }
}

2、远程推送的payload内容

{
  "aps":{
    "alert":{
      "title":"iOS 10通知",
      "body":"这是一个iOS 10的消息通知..."
    }
  }
}

3、下面是实现后的效果图,从效果图可以看到,不管应用是在前台还是后台,均可收到通知提示



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值