iOS 远程通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  • {  
  •     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  •     // Override point for customization after application launch.  
  •     self.viewController = [[[ViewController alloc] init] autorelease];  
  •     self.window.rootViewController = self.viewController;  
  •     [self.window setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];  
  •     [self.window makeKeyAndVisible];  
  •     /** 注册推送通知功能, */ 
  •     [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];  
  •       
  •     //判断程序是不是由推送服务完成的  
  •     if (launchOptions) {  
  •         NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];  
  •         if (pushNotificationKey) {  
  •             UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"推送通知"   
  •                                                            message:@"这是通过推送窗口启动的程序,你可以在这里处理推送内容" 
  •                                                           delegate:nil   
  •                                                  cancelButtonTitle:@"知道了"   
  •                                                  otherButtonTitles:nil, nil];  
  •             [alert show];  
  •             [alert release];  
  •         }  
  •     }  
  •     return YES;  
  • }  

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {  

  •     NSString* token = [NSString stringWithFormat:@"%@",deviceToken];  
  •     NSLog(@"apns -> 生成的devToken:%@", token);  
  •     //把deviceToken发送到我们的推送服务器  
  •     DeviceSender* sender = [[[DeviceSender alloc]initWithDelegate:self ]autorelease];  
  •     [sender sendDeviceToPushServer:token ];      
  • }  

 

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {  

 

  •     NSLog(@"apns -> 注册推送功能时发生错误, 错误信息:\n %@", err);  
  • }

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo  

  • {  
  •     NSLog(@"\napns -> didReceiveRemoteNotification,Receive Data:\n%@", userInfo);  
  •     //把icon上的标记数字设置为0,  
  •     application.applicationIconBadgeNumber = 0;  
  •     if ([[userInfo objectForKey:@"aps"] objectForKey:@"alert"]!=NULL) {  
  •         UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"**推送消息**" 
  •                                                         message:[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]  
  •                                                        delegate:self  
  •                                               cancelButtonTitle:@"关闭" 
  •                                               otherButtonTitles:@"处理推送内容",nil];  
  •         alert.tag = alert_tag_push;  
  •         [alert show];  
  •     }  
内容概要:本文提出了一种基于融合鱼鹰算法和柯西变异的改进麻雀优化算法(OCSSA),用于优化变分模态分解(VMD)的参数,进而结合卷积神经网络(CNN)与双向长短期记忆网络(BiLSTM)构建OCSSA-VMD-CNN-BILSTM模型,实现对轴承故障的高【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)精度诊断。研究采用西储大学公开的轴承故障数据集进行实验验证,通过优化VMD的模态数和惩罚因子,有效提升了信号分解的准确性与稳定性,随后利用CNN提取故障特征,BiLSTM捕捉时间序列的深层依赖关系,最终实现故障类型的智能识别。该方法在提升故障诊断精度与鲁棒性方面表现出优越性能。; 适合人群:具备一定信号处理、机器学习基础,从事机械故障诊断、智能运维、工业大数据分析等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统VMD参数依赖人工经验选取的问题,实现参数自适应优化;②提升复杂工况下滚动轴承早期故障的识别准确率;③为智能制造与预测性维护提供可靠的技术支持。; 阅读建议:建议读者结合Matlab代码实现过程,深入理解OCSSA优化机制、VMD信号分解流程以及CNN-BiLSTM网络架构的设计逻辑,重点关注参数优化与故障分类的联动关系,并可通过更换数据集进一步验证模型泛化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值