您的位置:首页 > 移动开发 > IOS开发

本地推送

2016-09-05 19:07 337 查看

一.介绍

直接由应用程序(程序中写入对应代码)给用户发出通知
本地通知需要用到一个重要的类:UILocalNotification
本地通知的实现步骤
创建本地通知
设置本地通知要发出的内容等信息
发出时间
发出内容
播放的音效
调度本地通知


二.实现本地通知

1.注册通知

OC :

iOS8之后,如果想要发出通知(无论本地还是远程),必须先进行注册.(iOS8之前不需要)
通常是在didFinishLaunchingWithOptions中进行注册
代码如下:
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];
[application registerUserNotificationSettings:settings];


swift :

if #available(iOS 8.0, *) {
let type = UIUserNotificationType.Alert.rawValue | UIUserNotificationType.Badge.rawValue | UIUserNotificationType.Sound.rawValue
let sets = UIUserNotificationSettings(forTypes: UIUserNotificationType(rawValue: type), categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(sets)
}


2.创建并且发出通知

OC :

创建本地通知
UILocalNotification *localNot = [[UILocalNotification alloc] init];
设置本地通知的内容
// 2.设置本地通知的信息
// 2.1.设置提示信息
localNot.alertBody = @"在不在??????";
// 2.2.设置通知弹出的时间
localNot.fireDate = [NSDate dateWithTimeIntervalSinceNow:2];
// 2.3.设置滑块显示的文字
localNot.alertAction = @"左滑";
// 2.4.是否让上面的文字生效
localNot.hasAction = NO;
// 2.5.设置通知中心的标题
localNot.alertTitle = @"title";
// 2.6.设置通知的声音
localNot.soundName = @"音频.wav";
// 2.7.设置应用程序图标右上角的数字
localNot.applicationIconBadgeNumber = 10;
调度本地通知(调度之后某个时刻会弹出通知)


swift :

// 1. 创建一个本地通知
let localNot = UILocalNotification()
// 2.1.设置提示信息
localNot.alertBody = "消息文本"
// 2.2.设置通知弹出的时间
localNot.fireDate = NSDate(timeIntervalSinceNow: 2)
// 重复周期
localNot.repeatInterval = .Minute
// 2.3.设置滑块显示的文字
localNot.alertAction = "回复"
// 2.4.是否让上面的文字生效
localNot.hasAction = true
// 2.5.设置通知中心的标题
if #available(iOS 8.2, *) {
localNot.alertTitle = "title"
}
// 2.6.设置通知的声音
localNot.soundName = "音频.aac"
// 2.7.设置应用程序图标右上角的数字
localNot.applicationIconBadgeNumber =  4
/*
如果这个图片,找不到, 会使用系统默认的启动图片, 启动图片(当用户点击了本地通知, 启动我们APP 的时候, 带的启动图片), 如果是在ios9.0以前, 当锁屏界面, 出现一个通知, 用户点击了通知, 启动APP 的时候, 会自动将我们设置的图片, 当做启动图像 来显示
*/
localNot.alertLaunchImage = "木有图片"


3.调度通知

OC :

[[UIApplication sharedApplication] scheduleLocalNotification:localNote];


swift :

UIApplication.sharedApplication().scheduleLocalNotification(localNot)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios