iOS本地推送

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    

    self.window.rootViewController = [[ViewController alloc] init];

    

    //先向用户请求授权,如果用户同意通知就注册一个通知,否则就请求授权

    if([[UIApplication sharedApplication] currentUserNotificationSettings].types != UIUserNotificationTypeNone){

        //注册一个通知

        [self addLocalNotification];

    }else{

        //请求授权,并设置通知的类型.有提示框,App图标右上角提示的数字,有提示的声音

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

    }

    

    

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];

    

    // Override point for customization after application launch.

    return YES;

}



//用户授权后调用

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings

{

    //如果用户许可通知,就添加一个通知

    if(notificationSettings.types != UIUserNotificationTypeNone){

        [self addLocalNotification];

    }

}


//打开应用

- (void)applicationWillEnterForeground:(UIApplication *)application

{

    //icon的右上角的数字设置为0

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

}

#pragma mark - 添加一个本地通知

- (void)addLocalNotification

{

    UILocalNotification *notification = [[UILocalNotification alloc] init];

    notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];//10秒后提醒

    notification.repeatInterval = 2;//重复次数

    

    notification.alertBody = @"好久不玩了,来玩吧";//提示的信息

    notification.applicationIconBadgeNumber = 1;//右上角的数字

    notification.alertAction = @"打开App";//滑动解锁时的副标题提示语句

    notification.alertLaunchImage = @"1.png";//滑动解锁进入应用时显示的图片

    

    notification.soundName = @"msg.caf";//需要真机才能听到声音

    

    notification.userInfo = @{@"id":@1,@"user":@"LuCa"};//通知上的一些附加信息

    //调用通知

    [[UIApplication sharedApplication] scheduleLocalNotification:notification];

    

}

//如果不需要本地的通知时,就移除该通知

- (void)removeNotification

{

    [[UIApplication sharedApplication] cancelAllLocalNotifications];

}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值