虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > IOS编程/Objective-C > iOS客户端本地推送实现代码

iOS客户端本地推送实现代码
类别:IOS编程/Objective-C   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了iOS客户端本地推送实现代码,并确定程序中只有一个弹出框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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];
    }

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

相关热词搜索: iOS客户端本地推送 iOS本地推送 iOS本地推