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

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

一: 首先上最后效果图:

91f27205203c

WechatIMG7.jpeg

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

91f27205203c

WechatIMG8.jpeg

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

91f27205203c

Paste_Image.png

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

91f27205203c

WechatIMG9.jpeg

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

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

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

EventCalendar.h

91f27205203c

Paste_Image.png

/**

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

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

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

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

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

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

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

*/

下图是EventCalendar.m的具体实现

91f27205203c

Paste_Image.png

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

NSCalendarsUsageDescription

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

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

91f27205203c

Paste_Image.png

ps:

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

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

喜欢请留爪! thx!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值