在如今实际开发中,我们会有一种需求---通过自己的app往系统自带的日历中添加提醒事件.

一: 首先上最后效果图:

WechatIMG7.jpeg

下图是关于添加事件的详情

WechatIMG8.jpeg

这里可以设置提前多长时间提醒该事件,在日历事件详情中这里可以看到

Paste_Image.png

最后事件到提前时间内,会在手机的通知栏推送消息通知,见下图

WechatIMG9.jpeg

二: 下面具体开始具体怎么实现的吧!

首先上代码下载地址:https://github.com/Andrewliu20/Demo.git 下载可以先体验一下.

功能的事件主要在EventCalendar类实现,下图是类的详情:

EventCalendar.h

Paste_Image.png

/**

将App事件添加到系统日历提醒事项,实现闹铃提醒的功能

@param title 事件标题 ---这里是标题

@param location 事件位置 -- 这里可以添加位置,也可以其他想显示的内容(系统日历中是地址)

@param startDate 开始时间 -- 事件的开始日期和系统日历设置事件开始事件对应

@param endDate 结束时间 -- 事件的结束日期和系统日历设置事件开始事件对应

@param allDay 是否全天 -- 和系统设置全天一致

@param alarmArray 闹钟集合 -- 提前提醒的时间集合(这里可以设置多个提醒事件点,时间点单位为秒,如果提前提醒需要设置为负,比如-3600 就是提前一个小时提醒)

*/

下图是EventCalendar.m的具体实现

Paste_Image.png

ps:在ios10以后,对于使用系统自带的隐私数据,比如相机,日历等,需要添加权限通知,这里只用到日历,只需要在xcode中的info.plist中添加上下面这句话,不然统会crash.

NSCalendarsUsageDescription

App需要您的同意,才能访问日历

三: 实际使用,在你的项目中把EventCalendar导入要实现的地方即可.下图是demo中实现的实现.

Paste_Image.png

ps:

这里是事件开始时间是[NSDate dateWithTimeInterval:3600 sinceDate:[NSDate date]] 3600 代表当前时间的的一个小时为开始事件,结束事件类似.

alarmArray 闹钟集合 我这里就添加一个,-3600 代表提前一个小时提示.

喜欢请留爪! thx!!

如何发布日历提醒推送消息服务器,iOS开发 -- 通过app向手机自带的日历中添加事件提醒...相关推荐

  1. APP是怎么推送消息的--以淘宝app为例

    文章转自本人公众号:机械猿,本人之前在四川某汽轮机从事结构强度设计,目前在阿里巴巴淘宝事业部担任高级开发工程师,有机械工程同行想转行IT,或者有想入职BAT的可以找我内推~ 絮叨 之前讨论过TCP连接 ...

  2. UniPush推送消息配置IOS证书

    哈喽哈喽,这次是要配置IOS证书的整体流程. 当我们配置完.我们就可以通过Unipush 给我们的应用推送啦. 首先我们先知道在哪里配置Dcloud后台中,UniPush栏下.应用配置 就可以配置IO ...

  3. 公众号向特定用户主动推送消息_SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据...

    这是Jerry 2020年的第84篇文章,也是汪子熙公众号总共第266篇原创文章. 本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上: https://blogs ...

  4. Android 推送消息开放接口 OpenPush

    Android 推送消息开放接口 OpenPush 我们知道, 在中国不能使用 google 的服务. 在中国销售的手机甚至没有安装 google 的服务.所以, 原本由 google gcm 提供的 ...

  5. 基于SENPARC盛派微信sdk的.net WebService微信公众号的相关开发(包含从零开始本机测试环境搭建//token验证//获取微信推送消息//向微信推送消息)

    前言: 由于微信公众号正式号,一直在被使用,所以在研发的时候,本机测试环境,就显得非常重要. 而且在自己闲暇之余,可以自己尝试更深程度的微信公众号的研发工作. 1.首先,必要的网站 http://sd ...

  6. 服务器主动推送消息数据给客户端

    1 引言 这个问题第一次是我在实现一个导师的方案的时候所发现的,一开始我需要实现服务器与客户端的密钥协商和数据传递,服务器需要主动分发(推送)密钥给客户端,因为以前没有做过相关编码,后来只能想到用反向 ...

  7. SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)

    场景 Windows上Mqtt服务器搭建与使用客户端工具MqttBox进行测试: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  8. 服务器如何向前端页面推送消息,后端向前端推送消息

    SpringBoot+WebSocket集成 什么是WebSocket? 为什么需要 WebSocket? 前言 maven依赖 WebSocketConfig WebSocketServer 消息推 ...

  9. 服务器推送小程序,小程序之主动推送消息(订阅消息)

    微信的东西,第一次玩,记录下全过程,略过申请小程序步骤 1:配置类目,建议在申请小程序的时候多选几个类目,类目越多,可选的消息模版越多,修改地址(传送门 路径: 设置-基本设置-服务类目) 2:设置推 ...

最新文章

  1. LoadRunner做性能测试 从设计到分析执行
  2. 多目录cmake工程 CmakeLists.txt编写
  3. 数据可用不可见,百度新版本联邦学习PaddleFL来了
  4. 入门设计模式之建造者模式
  5. linux系统的运行定义在,Linux系统运行级管理
  6. java中,剩下的这两个内部类不太好理解!
  7. mysql小计_使用SQL实现小计,合计以及排序_MySQL
  8. 京东金融品牌升级,为用户做精准决策,打造金融机构的“第二增长场景”
  9. 第 25 章 策略模式
  10. 黑客可利用 TeamViewer 缺陷远程窃取系统密码
  11. 计算机考试怎么切换到桌面,考试系统很多考试系统全屏无法切换桌面,只能 – 手机爱问...
  12. 三菱5uplc伺服电机指令_2020山东三菱PLCFX1S30MT回收回收价格公道
  13. MySQL入门之课后思考题第六章
  14. java微信分享朋友圈_Java实现微信公众平台朋友圈分享功能详细代码
  15. 每日一佳——SVM Optimization: Inverse Dependence on Training Set Size(Shai Shalev-Shwartz et al,ICML,2008)
  16. es根据字段长度过滤_es根据字段长度过滤_如何进行elasticsearch查询以过滤字段的最大值?...
  17. SQL服务器上SQLserverAgent无法启动的解决方法 SQL2000无法安装的解决办法
  18. SQL多表联合查询时采用字段模糊匹配
  19. 如何使用iTunes 10制作iPhone手机铃声?
  20. linux系统英伟达gpu驱动卸载_Ubuntu 16.04 卸载Nvidia显卡驱动和cuda

热门文章

  1. MySQL数据库中,字符串拆分(如将英文姓名拆分为姓氏和名字两个字段)
  2. 中式装修之美,呈现出东方的诗意与唯美
  3. HtmlEditor在线编辑器V3.0提供
  4. 【有利可图网】PS实战教程36:巧用PS制作人物破碎消散效果
  5. jquery-day32
  6. github实用的搜索小技巧
  7. 【MATLAB】遗传算法(GA)求解TSP问题
  8. 三款主流数码绘画软件调研分析
  9. Uniapp开发仿哔哩哔哩/短视频系统APP源码
  10. IM开发干货分享:我是如何解决大量离线消息导致客户端卡顿的