iOS客户端本地推送实现代码
程序员文章站
2023-12-20 19:16:40
本文实例为大家分享了ios本地推送的具体代码,供大家参考,具体内容如下
首先创建全局的本地通知对象及弹出框
// 弹出本地消息
@property(non...
本文实例为大家分享了ios本地推送的具体代码,供大家参考,具体内容如下
首先创建全局的本地通知对象及弹出框
// 弹出本地消息 @property(nonatomic,strong)uilocalnotification *localnotification; @property(nonatomic,strong)uialertcontroller *alertcontrol; 其次在代码中实现如下: - (void)application:(uiapplication *)application didreceiveremotenotification:(nsdictionary *)userinfo fetchcompletionhandler: (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 *)application didreceivelocalnotification:(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]; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。