iOS 8后本地通知需要注意

本文介绍了一个简单的iOS应用中如何实现本地推送通知的功能。通过在应用启动完成时注册通知,并创建一个按钮触发推送,实现了10秒后显示定制化的提醒消息。此外,还介绍了如何设置推送的声音及应用图标上的徽标数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    
    //注册通知
    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])
    {
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
    }
    
    UIButton *btn=[UIButton buttonWithType:UIButtonTypeSystem];
    [btn setTitle:@"开始" forState:UIControlStateNormal];
    btn.frame=CGRectMake(100, 100, 100, 30);
    [self.window addSubview:btn];
    [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

-(void)btnClick:(UIButton *)bt
{
    
    //本地消息推送
    //创建一个本地推送的任务
    UILocalNotification *local = [[UILocalNotification alloc] init];
    
    //设定时间,10秒之后开启
    local.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
    
    //设定内容
    local.alertBody = @"亲~你该起床啦,不要赖床哦";
    //设定提示的声音,这个声音是你工程中就有的声音,它支持WAV,CAF等众多格式
    local.soundName = @"音效.caf";
    //设置小红点徽标
    int num = [UIApplication sharedApplication].applicationIconBadgeNumber;
    if (num == 0) {
        num = 1;
    }else{
        num++;
    }
    //设置小红点推送的内容
    local.applicationIconBadgeNumber = num;

    //把推送加入到我们系统管理内
    [[UIApplication sharedApplication] scheduleLocalNotification:local];
    //以上内容10秒后运行
}


转载于:https://my.oschina.net/haitangliuxing/blog/660101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值