iOS客户端本地推送实现代码
本文实例为大家分享了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.alertcontroldismissViewControllerAnimated:YEScompletion:nil];
}
[selfbulidLocationNotification:applicationuserinfo:userInfo];
}else{
//判断程序是否未打开状态,即是否在后台运行或关闭状态,极光推送设置角标
if([applicationapplicationIconBadgeNumber]>0){
[JPUSHServicesetBadge:[applicationapplicationIconBadgeNumber]];
}
}
[JPUSHServicehandleRemoteNotification:userInfo];
NSLog(@"收到通知:%@",[selflogDic:userInfo]);
completionHandler(UIBackgroundFetchResultNewData);
}
-(void)application:(UIApplication*)application
didReceiveLocalNotification:(UILocalNotification*)notification{
//弹出消息
if(self.localNotification){
self.alertcontrol=[UIAlertControlleralertControllerWithTitle:@""message:self.localNotification.alertBodypreferredStyle:UIAlertControllerStyleAlert];
UIAlertAction*action=[UIAlertActionactionWithTitle:@"确定"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction*_Nonnullaction){
self.localNotification=nil;
self.alertcontrol=nil;
}];
[self.alertcontroladdAction:action];
[self.window.rootViewControllerpresentViewController:self.alertcontrolanimated:YEScompletion:nil];
}
}
//创建本地推送消息
-(void)bulidLocationNotification:(UIApplication*)applicationuserinfo:(NSDictionary*)userInfo{
self.localNotification=[[UILocalNotificationalloc]init];
self.localNotification.fireDate=[NSDatedateWithTimeIntervalSinceNow:1];
self.localNotification.alertBody=[[userInfoobjectForKey:@"aps"]objectForKey:@"alert"];
self.localNotification.alertAction=@"确定";
self.localNotification.soundName=@"sound.caf";
self.localNotification.userInfo=userInfo;
[applicationpresentLocalNotificationNow:self.localNotification];
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。