关于iOS8上本地通知接收不到的问题

本文详细介绍了如何在iOS应用中实现本地通知与闹钟功能,包括注册通知、发送通知、处理通知和闹钟的具体实现步骤,以及关键代码示例。

本地推送线上的项目没事,我这测试了6 plusxcode创建的项目正常。如果是新xcode创建的项目的ios8不行,需要加新方法

//注册本地通知

    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){

        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];

    }

需要手动加上这句话 

if ([UIApplicationinstancesRespondToSelector:@selector(registerUserNotificationSettings:)]){

        [[UIApplicationsharedApplication]registerUserNotificationSettings:[UIUserNotificationSettingssettingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSoundcategories:nil]];

    }

 ios 闹钟的总结-------也就是本地通知。

      //发送通知
      UILocalNotification *notification=[[UILocalNotification alloc] init];  
      if (notification!=nil) {
      NSDate *now=[NSDate new];
      notification.fireDate=[now dateByAddingTimeInterval:10];//10秒后通知
      notification.repeatInterval=0;//循环次数,kCFCalendarUnitWeekday一周一次
      notification.timeZone=[NSTimeZone defaultTimeZone];
      notification.applicationIconBadgeNumber=1; //应用的红色数字
      notification.soundName= UILocalNotificationDefaultSoundName;//声音,可以换成alarm.soundName = @"myMusic.caf"
      //去掉下面2行就不会弹出提示框
      notification.alertBody=@"通知内容";//提示信息 弹出提示框
      notification.alertAction = @"打开";  //提示框按钮
      //notification.hasAction = NO; //是否显示额外的按钮,为no时alertAction消失
      // NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];
      //notification.userInfo = infoDict; //添加额外的信息
      [[UIApplication sharedApplication] scheduleLocalNotification:notification];     
      }
      [notification release];

      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {   
      // Override point for customization after application launch.
      application.applicationIconBadgeNumber = 0;
      // Add the view controller's view to the window and display.
      [window addSubview:viewController.view];
      [window makeKeyAndVisible];
      return YES;
      }
      - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
      //点击提示框的打开
      application.applicationIconBadgeNumber = 0;
      }
      - (void)applicationDidBecomeActive:(UIApplication *)application {
      //当程序还在后天运行
      application.applicationIconBadgeNumber = 0;
      }

      - (void)clock:(UIButton *)button
      {
      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [formatter setDateFormat:(@"yyyy-MM-dd HH:mm:ss")];
      NSString *now = [formatter stringFromDate:[NSDate new]];
      NSString *hourstr = [NSString stringWithFormat:@"%d",hour];
      NSString *minutestr = [NSString stringWithFormat:@"%d",minute];
      if (hour <= 9) {
      hourstr = [NSString stringWithFormat:@"0%d",hour];
      }
      if (hour <= 9) {
      minutestr = [NSString stringWithFormat:@"0%d",minute];
      }
      NSString *fireTimeStr = [NSString stringWithFormat:@"%@%@:%@:00",[now substringToIndex:11],hourstr,minutestr];
      NSDate *fireTime = [formatter dateFromString:fireTimeStr];
      UILocalNotification *notification = [[UILocalNotification alloc] init];
      if (notification != nil) {
      notification.fireDate = fireTime;
      notification.timeZone = [NSTimeZone defaultTimeZone];
      notification.soundName= UILocalNotificationDefaultSoundName;//声音,可以换成
      //        notification.soundName = @"beep-beep.caf";
      notification.alertLaunchImage = [NSString stringWithFormat:@"redgift.png"]; //闹钟的图片。
      notification.applicationIconBadgeNumber = 4; //闹钟的icon 数量。
      notification.repeatInterval = kCFCalendarUnitMinute; //重复的方式。
      notification.alertBody = [NSString stringWithFormat:@"%@已到",fireTimeStr];
      [[UIApplication sharedApplication] scheduleLocalNotification:notification];
      }
      }


六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值