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

本地推送线上的项目没事,我这测试了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];
      }
      }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值