iOS8本地推送

作者: 郝嗨森 | 来源:发表于2016-08-29 21:24 被阅读119次

本地推送与远程推送相比要简单的多,不需要导入任何文件和系统库,但其功能也因此而受限,只能设置固定的时间进行推送,而且推送内容也不能改.

在Appdelegate.m中先进行注册
UIApplication * app = [UIApplication sharedApplication];
//UIUserNotificationTypeAlert  收到推送时会有弹窗
//UIUserNotificationTypeBadge  APP图标出显示消息数量(99+)
//UIUserNotificationTypeSound    收到推送时会有声音提示
UIUserNotificationSettings * settings = [UIUserNotificationSettings  settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
//注册本地推送的属性设置
[app registerUserNotificationSettings:settings];

//在进行推送的地方进行设置
//创建通知对象
UILocalNotification * localNotification = [[UILocalNotification alloc] init];
//设置属性
//发送的时间
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
//通知的标题
localNotification.alertTitle = @"通知";  //IOS_8.2
//发送的内容
localNotification.alertBody = @"本地通知测试";
//通知的声音
localNotification.soundName = UILocalNotificationDefaultSoundName;
//设置APP图标显示的消息数量
localNotification.applicationIconBadgeNumber = 1;
//发送通知
UIApplication * app = [UIApplication sharedApplication];
[app scheduleLocalNotification:localNotification];

以上就是关于本地推送的基本实现,因为通常使用本地推送都会设置为固定的时间进行推送,所以下面补充一个关于获取当前时间的各个字段的方法:

//创建一个日历对象
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
//获取当前时间
NSDate *now = [NSDate date];
//创建一个存储日期各要素的对象
NSDateComponents *comps = [[NSDateComponents alloc] init];
//用来存储要获取的日期中的各要素
NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday |
NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
//从当前时间中取出要得到的日期元素
comps = [calendar components:unitFlags fromDate:now];
//分别获取各日期元素
NSInteger year = [comps year];
NSInteger month = [comps month];
NSInteger week = [comps weekday];
NSInteger day = [comps day];
NSInteger hour = [comps hour];
NSInteger min = [comps minute];
NSInteger sec = [comps second];

以上仅供参考,本人能力有限,如有问题请指出,谢谢.

相关文章

  • ios 本地推送

    、、、 注册本地推送跟远程推送是同一个方法不过ios8以后需要在- (BOOL)application:(UIAp...

  • iOS8 本地推送 UILocalNotification

    前言 最近忙中偷闲,把有关本地推送的内容给整理一下,本篇文章主要讲述UILocalNotification的一些使...

  • 本地推送(ios8以上)

    首先在appDelegate中注册权限 注册本地推送权限 ` - (BOOL)application:...

  • iOS本地推送(本地通知)

    在iOS8之后,以前的本地推送写法可能会出错,接收不到推送的信息, 如果出现以下信息: 1 Attempting ...

  • iOS10 本地推送你玩过了吗?

    首先来看一下iOS10的推送的基本的实现,和之前的推送有啥差别。 权限申请iOS8之前,远程推送和本地推送是区分对...

  • iOS8本地推送

    在IOS8下没有注册,所以需要额外添加对IOS8的注册方法 第一步:注册本地通知 第二步:处理通知,这个是在app...

  • iOS8本地推送

    本地推送与远程推送相比要简单的多,不需要导入任何文件和系统库,但其功能也因此而受限,只能设置固定的时间进行推送,而...

  • iOS 消息推送 - 本地推送,兼顾iOS8 categorys

    本地推送 1、申请权限,开启通知2、app 主动向设备的通知中心发送本地消息3、在设定的触发时间,产生消息推送 1...

  • 本地推送 基本使用 (一)

    环境: Xcode 8.1系统: iOS10以下适用范围: 提醒通知,闹钟 0.在iOS8开始适用本地推送需要注册...

  • iOS 本地通知

    在iOS中在消息的推送中使用的是本地通知 使用方法: 1. 先要判断系统的版本(在iOS8(不包含8.0))以前本...

网友评论

    本文标题:iOS8本地推送

    本文链接:https://www.haomeiwen.com/subject/iccfettx.html