1 添加隐私请求提示

Privacy - Calendars Usage Description

2 代码
#import <EventKit/EventKit.h>

// 添加提醒事件
- (void)addEventWithTimeStr:(NSString *)timeStr title:(NSString *)title planId:(NSString *)planId
{EKEventStore *store = [[EKEventStore alloc] init];if ([store respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {[store requestAccessToEntityType:(EKEntityTypeEvent) completion:^(BOOL granted, NSError * _Nullable error) {dispatch_async(dispatch_get_main_queue(), ^{if (error) {NSLog(@"发生错误");} else if (!granted) {NSLog(@"未获得使用日历权限");} else {EKEvent *event = [EKEvent eventWithEventStore:store];event.title = title;
//                    event.location = @"位置";NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSDate *date = [formatter dateFromString:timeStr];// 提前一个小时开始NSDate *startDate = [NSDate dateWithTimeInterval:-3600 sinceDate:date];// 提前一分钟结束NSDate *endDate = [NSDate dateWithTimeInterval:60 sinceDate:date];event.startDate = startDate;event.endDate = endDate;event.allDay = NO;// 添加闹钟结合(开始前多少秒)若为正则是开始后多少秒。EKAlarm *elarm2 = [EKAlarm alarmWithRelativeOffset:-20];[event addAlarm:elarm2];EKAlarm *elarm = [EKAlarm alarmWithRelativeOffset:-10];[event addAlarm:elarm];[event setCalendar:[store defaultCalendarForNewEvents]];NSError *error = nil;[store saveEvent:event span:EKSpanThisEvent error:&error];if (!error) {NSLog(@"添加时间成功");//添加成功后需要保存日历关键字NSString *iden = event.eventIdentifier;// 保存在沙盒,避免重复添加等其他判断[[NSUserDefaults standardUserDefaults] setObject:iden forKey:planId];[[NSUserDefaults standardUserDefaults] synchronize];}}});}];}}// 移除提醒事件
- (void)removeEventWithPlanID:(NSString *)planId
{EKEventStore *store = [[EKEventStore alloc] init];// 获取上面的这个ID呀。NSString *identifier = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:planId]];EKEvent *event = [store eventWithIdentifier:identifier];__block BOOL isRemoved = NO;dispatch_async(dispatch_get_main_queue(), ^{NSError *err = nil;isRemoved = [store removeEvent:event span:EKSpanThisEvent commit:YES error:&err];if (!err) {NSLog(@"删除日历成功");[[NSUserDefaults standardUserDefaults] removeObjectForKey:identifier];[[NSUserDefaults standardUserDefaults] synchronize];}});}
在这里插入代码片

iOS访问系统日历 添加提醒事件相关推荐

  1. android向系统日历添加日程事件(实现闹铃效果,且在app被杀仍能完成)

    向系统日历读写事件有一下步骤 1,有读写日历的权限 2,如果没有日历账户需要先创建日历账户 3,实现日历事件增删改查,提醒功能 一,权限申请 AndroidManifest.xml添加如下权限 < ...

  2. Android向系统日历添加事件提醒

    项目场景: 在项目开发过程中,需要使用系统日历来辅助提醒.通过向系统日历中写入事件.设置提醒方式,实现到达某个特定的时间自动提醒的功能 解决方案: 1. 请求权限 //Android6.0以上需要动态 ...

  3. android 添加日程失败,Andriod向系统日历添加日程

    Andriod向系统日历添加日程 1.检查是否有现有的账户存在 private static int checkCalendarAccount(Context context) { Cursor us ...

  4. Android 向系统日历添加日程

    工作需求:需要在某个时间点提前提醒用户秒杀活动开始 由于推送到达率不高不够及时,使用系统日历的日程是最方便最简单的选择 1.使用系统日历需要添加权限 targetSdkVersion=23以上的需要动 ...

  5. 微信小程序向系统日历添加事件(提醒)实现

    直接上代码 // pages/calendar/calendar.jsPage({// 点击添加日程按钮handleAddCalendar() {wx.getSetting({success(res) ...

  6. android 提醒,Android 添加提醒事件

    代码如下: private void addCalender() { if (Build.VERSION.SDK_INT >= 8) { calanderURL = "content: ...

  7. android 添加系统日历事件,添加系统日历事件

    前两天,产品提一个需求,说是弄一个系统日历的提醒,到时提醒用户做一些事情,大概这么一个需求.搞了一两天,查看API翻阅文档,算是完成需求了. 这篇文章一个纯粹的代码文章,就是告诉怎么用系统日历添加提醒 ...

  8. 安卓日历每日提醒_android 设置系统闹钟和系统日历提醒

    现在有一个定时提醒的功能, 用 AlarmManager 自己来做,有多少坑做过的都知道.(应用被kill, 应用保活,息屏,关机重启,多版本兼容问题...).要自己做一个完善的不是 1-2天就能搞定 ...

  9. iOS开发用Eventkit向日历和提醒事项中加入事件和闹铃

    iOS开发用Eventkit向日历和提醒事项中加入事件和闹铃 直接上代码说明如何使用,后面有详细的介绍 主要使用Eventkit事件库的EKEventStore类 该类负责日历和提醒事件的管理,可以简 ...

最新文章

  1. [C#] - 从 HTML 代码中 转换 / 提取 可读文字(PlainText)的方法
  2. VTK:可视化之DistanceToCamera
  3. tomcat自动运行磁盘任意位置上的项目、使用Maven对tomcat进行自动部署
  4. android关机位置定位,Android5.0关机充电动画位置
  5. 运维管理_运维BIM软件-EcoDomus运维管理系统
  6. python2.0 s12 day4
  7. 完整简单的红黑树算法
  8. div常用效果方法-transform
  9. JavaSE学习--单例设计模式
  10. 极光java sdk_极光使用服务端使用java sdk 出现异常 日志如下
  11. 2020年最值得收藏的60个AI开源工具
  12. KMeans聚类分析实战——如何把城市划分成不同的种类
  13. 关于select和option下拉框样式问题
  14. Maven的作用通俗介绍
  15. python 从def里面调用另一个def函数内容_在python中从一个类调用def到另一个类
  16. 面试题之消息中间件(MQ与RabbitMQ)
  17. 华三防火墙添加web用户_h3c防火墙用户名密码怎么样设置
  18. docker安装_Java EE,Docker和Maven(技术提示#89)
  19. CSP-S 蒟蒻啊qaq
  20. 写给认真学习却进步缓慢的大一学生

热门文章

  1. Android开发学习笔记:WebView 一
  2. 标准C++中的string类的用法总结
  3. IHttpHandler 概述
  4. 【C++】多线程与互斥锁【二】
  5. ecshop中ajax的调用原理
  6. DW中CSS属性详解
  7. WaitForSingleObject和WaitForMultipleObjects用法
  8. 【Python】ubuntu14安装pycaffe环境:python2.7及依赖库
  9. 【数据库】MySQL的C语言接口学习
  10. uniapp 鸿蒙,关于前端:uniapp项目安装运行操作手册