首页 > 系统 > iOS > 正文

iOS客户端本地推送实现代码

2019-10-21 18:50:13
字体:
来源:转载
供稿:网友

本文实例为大家分享了iOS本地推送的具体代码,供大家参考,具体内容如下

首先创建全局的本地通知对象及弹出框

// 弹出本地消息@property(nonatomic,strong)UILocalNotification *localNotification;@property(nonatomic,strong)UIAlertController *alertcontrol;其次在代码中实现如下:- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfofetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {  // 判断程序是否在打开状态,即是否在前台运行的状态  if (application.applicationState == UIApplicationStateActive) {    // 如果之前已经接受到消息,并且用户未对弹出框进行处理,关闭原来弹出框    if (self.localNotification) {      [self.alertcontrol dismissViewControllerAnimated:YES completion:nil];    }    [self bulidLocationNotification:application userinfo:userInfo];          }else{    // 判断程序是否未打开状态,即是否在后台运行或关闭状态,极光推送设置角标    if ([application applicationIconBadgeNumber]>0) {      [JPUSHService setBadge:[application applicationIconBadgeNumber]];    }  }    [JPUSHService handleRemoteNotification:userInfo];  NSLog(@"收到通知:%@", [self logDic:userInfo]);  completionHandler(UIBackgroundFetchResultNewData);}- (void)application:(UIApplication *)applicationdidReceiveLocalNotification:(UILocalNotification *)notification {  // 弹出消息  if (self.localNotification) {    self.alertcontrol = [UIAlertController alertControllerWithTitle:@"" message:self.localNotification.alertBody preferredStyle:UIAlertControllerStyleAlert];    UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {      self.localNotification = nil;      self.alertcontrol = nil;    }];    [self.alertcontrol addAction:action];    [self.window.rootViewController presentViewController:self.alertcontrol animated:YES completion:nil];      }}// 创建本地推送消息-(void)bulidLocationNotification:(UIApplication *)application userinfo:(NSDictionary *)userInfo{  self.localNotification = [[UILocalNotification alloc]init];  self.localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:1];  self.localNotification.alertBody = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];  self.localNotification.alertAction = @"确定";  self.localNotification.soundName = @"sound.caf";  self.localNotification.userInfo = userInfo;  [application presentLocalNotificationNow:self.localNotification];}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到IOS开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表