本地推送:
1, 使用本地推送来引起用户的注意,可以是一个alter弹窗、声音、图片、视频等.例如后台应用程序可以要求系统完成特定任务时显示提醒信息.始终使用本地推送来传达用户需要的重要信息.
2,本地推送弹窗根据你设定的时间和位置进行弹窗推送,第一,如果你的App在后台或者未运行时发送推送,系统会发送弹窗在手机上方,第二,如果你的App在前台运行,系统会发送推送让你在程序中进行需要的处理(代码层).
1 | #import <UserNotifications/UserNotifications.h>//导入的库,iOS10之后才有 |
推送权限
确定App是否开启了推送允许权限: UNUserNotificationCenter
1 | //1,判断用户是否开启了推送功能 |
推送内容
配置推送内容: UNMutableNotificationContent
1 | //2,推送内容 |
推送的时刻
配置推送的触发条件:
1,UNTimeIntervalNotificationTrigger //延迟多少秒,当repeats = YES 配置的时间需要大于60s.
2,UNCalendarNotificationTrigger //推送日期, 年,月,日,小时,分钟,秒.
3,UNLocationNotificationTrigger //地点,到达设定好的地点之后推送
1 | UNTimeIntervalNotificationTrigger *timerTrigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:65 repeats:NO]; |
创建推送的请求
1 | //4,创建推送的请求, @"currentNoti"是标识符.可以在移除的时候根据标识符找到该推送请求. |
开启推送
1 | //5,加入推送中心,开启推送 |
移除本地推送
1 | //6,移除local本地推送 |
获取当前存在的推送标识
UNNotificationRequest
1 | //获取当前存在的推送UNNotificationRequest |
推送的协议:UNUserNotificationCenterDelegate
1 | //实现协议 |