一.iOS8本地推送注册

//创建本地通知
- (void)requestAuthor
{
if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {
// 设置通知的类型可以为弹窗提示,声音提示,应用图标数字提示
UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];
// 授权通知
[[UIApplication sharedApplication] registerUserNotificationSettings:setting];
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//本地推送
[self requestAuthor];
return YES;
}

三.假设在ViewController中添加touchesBegan方法,具体UILocalNotification的基本属性请往下看!

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
// 1.创建通知
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
// 2.设置通知的必选参数
// 设置通知显示的内容
localNotification.alertBody = @"本地通知测试";
// 设置通知的发送时间,单位秒
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
//解锁滑动时的事件
localNotification.alertAction = @"别磨蹭了!";
//收到通知时App icon的角标
localNotification.applicationIconBadgeNumber = 1;
//推送是带的声音提醒,设置默认的字段为UILocalNotificationDefaultSoundName
localNotification.soundName = UILocalNotificationDefaultSoundName;
// 3.发送通知(? : 根据项目需要使用)
// 方式一: 根据通知的发送时间(fireDate)发送通知
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
// 方式二: 立即发送通知
// [[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
}

注意:UILocalNotification的基本属性

fireDate:启动时间;
timeZone:启动时间参考的时区;
repeatInterval:重复推送时间(NSCalendarUnit类型),0代表不重复;
repeatCalendar:重复推送时间(NSCalendar类型);
alertBody:通知内容;
alertAction:解锁滑动时的事件;
alertLaunchImage:启动图片,设置此字段点击通知时会显示该图片;
alertTitle:通知标题,适用iOS8.2之后;
applicationIconBadgeNumber:收到通知时App icon的角标;
soundName:推送是带的声音提醒,设置默认的字段为UILocalNotificationDefaultSoundName;
userInfo:发送通知时附加的内容;
category:此属性和注册通知类型时有关联,(有兴趣的同学自己了解,不详细叙述)适用iOS8.0之后;
region:带有定位的推送相关属性,具体使用见下面【带有定位的本地推送】适用iOS8.0之后;
regionTriggersOnce:带有定位的推送相关属性,具体使用见下面【带有定位的本地推送】适用iOS8.0之后;

四.注意一点. 当再次进入app中,通知栏的通知需要不显示,并且app的角标也要没有,所以需要在appDelegate设置一个属性.

- (void)applicationWillEnterForeground:(UIApplication *)application {
//设置应用程序图片右上角的数字(如果想要取消右上角的数字, 直接把这个参数值为0)
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}

转载于:https://www.cnblogs.com/KennyHito/p/6860242.html

iOS开发中,实现本地推送相关推荐

  1. flutter应用开发中集成极光推送(flutter极光推送第一篇)

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 精通点的可以查看这里 精述 Flutter 从入门实践到开发一个APP之UI基础篇 视频 flutter从入 ...

  2. iOS开发如何实现消息推送机制

    Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Pu ...

  3. ios开发系统自带推送(ios自学笔记)

    关于ios系统子弟的推送.放在这里和大家分享 APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释.如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Pus ...

  4. iOS开发之功能模块--推送之坑问题解决

    不管想不想看我后面再开发中总结的经验,但是很值得推荐一位大神写的关于苹果推送,很多内容哦:http://www.cnblogs.com/qiqibo/category/408304.html 苹果开发 ...

  5. ios开发笔记之 APNS推送服务的实现

    客户端发送device token给推送服务器,服务器将这个码发送给苹果服务器.客户端等待苹果的推送服务. 后台服务器上的方法send_apns_to_devices方法,遍历所有注册推送服务的机器, ...

  6. iOS本地推送UILocalNotification

    本地通知主要是基于app本身定时器的行为.即使app在后台,也会发送本地通知.一个app只能有有限数量的预定通知,最多允许最近的64条通知,其余通知将会被系统忽略. 推送通知的呈现效果: 在屏幕顶部显 ...

  7. Unity 应用的消息推送《一》本地推送

    欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 参考博客地址:https://blog.csdn.net/qq_37310110/article/details/804234 ...

  8. iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送、本地推送

    iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送本地推送 2015-05-03 14:12 3510人阅读 评论(0) 收藏 举报 本文章已收录于:  iOS知识库  分类: [IO ...

  9. IOS 本地推送和远程推送

    最近在研究iOS的推送问题,遇到了好多问题,经过很多大神的文章指点最终整理了一下,放在这里和大家分享. 准备工作 首先要有一台苹果的设备,模拟器是不支持推送的,所以你需要一台iphone,ipod t ...

  10. IOS 本地推送 IOS10.0以上 static的作用 const的作用

    //需要在AppDelegate里面启动APP的函数 加上 UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNot ...

最新文章

  1. Red Hat Enteripse Linux5下配置yum源的方法
  2. 第一个android程序HelloWorld
  3. 敏捷开发-Scrum与精益相得益彰
  4. Swift的控制转移语句-- fallthrough语句
  5. java线程在什么时候结束,java – 什么时候线程超出范围?
  6. 当当网新用户注册界面——CSS代码
  7. 前端学习(2710):重读vue电商网站30之左侧菜单栏图标设计
  8. 每周四JEECG社区公开课:微信公众账号运营(jeewx使用)入门讲解
  9. 2011年华科计算机考研复试笔试算法、数据库(回忆版)
  10. 李楠宣布离职!“魅族三剑客”时代已逝去,前老板的回应却有点扎心
  11. 【广告技术】如何提升定向广告效果?腾讯广告提出高质量负实例生成新方法
  12. Android Studio for Experts(Android Dev Summit2015)
  13. 东方财富单独下单软件_炒股理财,就选东方财富证券!
  14. 基于java的租房系统源代码_基于jsp的租房管理系统-JavaEE实现租房管理系统 - java项目源码...
  15. 数据结构 —— 图解AVL树(平衡二叉树)
  16. 张学友-歌神同行.叁(国语篇)2019【SACD-ISO】
  17. NIOS II 软核中EPCS配置芯片的存储操作
  18. 一缕黑暗中的火光-----------用例图--------------优雅的建模语
  19. AndroidUtilCode 最强大的工具类
  20. 电容电阻电感在电路中的作用

热门文章

  1. css - 布局 - rem布局
  2. 【洛谷 P3299】 [SDOI2013]保护出题人 (凸包,三分,斜率优化)
  3. Day21 linux安装RPM包
  4. 31个实用find命令的案例
  5. MyEclipse 中各种 libraries 的含义
  6. Centos-RedHat 添加路由
  7. Struts2.0 + Spring2.5 + Hibernate3.3开发环境的配置(1)
  8. javascript的parseInt函数(转)
  9. android gradle 在assembleRelease之前 or 之后执行自定义task
  10. 配置grafana的数据源、添加监控