本地推送 基本使用 (一)

2017-01-10  本文已影响21人  翻滚的炒勺2013

环境: Xcode 8.1
系统: iOS10以下
适用范围: 提醒通知,闹钟

0.在iOS8开始适用本地推送需要注册通知

  if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
        UIUserNotificationType type =  UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound;
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:type categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    }
}

1.创建一个本地推送

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

2.触发时间
本地推送的触发条件有两种,任意一种都可以
一种是NSdata
一种是NSTimeInterval
这里我用的是NSTimeInterval类型的参数

//设置推送10秒后触发
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];

3.设置时区
这里要注意本地推送默认是格林威治时间,要换成我们的时间

localNotification.timeZone = [NSTimeZone defaultTimeZone];

3.设置推送内容
推送内容一定要设置,如果不设置推送内容是看不到推送的

localNotification.alertBody = @"我是本地推送";

4.设置推送声音
注意:如果是自己定义声音,长度不可以超过30秒,如果超过了会自动替换成系统的声音或者没有声音
支持的格式可以播放mp3.caf.其他的格式没有测试

localNotification.soundName = @"爱转角.mp3";

5.设置推送标题
这个没什么好说的

localNotification.alertTitle = @"疼疼";

6.设置推送图标

localNotification.alertLaunchImage =@"你的图片名称";

8.设置推送字典
这里字典可以存放一些我们要传的东西

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[@"today"] = @"本地推送";
localNotification.userInfo = dict;

7.设置推送重复
这里是个日历枚举,按自己需要设置即可

localNotification.repeatInterval = kCFCalendarUnitMinute;

9.把通知加入到通知队列,如果没有添加,通知不会启动

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
上一篇 下一篇

猜你喜欢

热点阅读