swift新增事件到系統日曆

2021-08-28 04:44:04 字數 1429 閱讀 8607

首先我們要匯入 import eventkit 框架

獲取日曆事件許可權

let eventstore = ekeventstore.init()

weak var weakself =

self

eventstore.requestaccess(to: ekentitytype.event, completion: else

})

新增日曆事件

let

event = ekevent.init(eventstore: eventstore)

event.title = "mm提醒" + "【拜訪" + visitor + "】"

if visitstyle != nil

event.calendar = eventstore.defaultcalendarfornewevents

event.calendar.cgcolor = colorliteral(red: 0.4941176471, green: 0.8078431373, blue: 0.4392156863, alpha: 1).cgcolor

event.calendar.title = "mm"

event.startdate = date()

event.enddate =date() + 3600

print(event.calendar.calendaridentifier)

event.addalarm(ekalarm(relativeoffset: -60))

do } catch

查詢和刪除日曆事件

let dfmatter = dateformatter()

dfmatter.dateformat="yyyy-mm-dd hh:mm"

let startdate = dfmatter.date(from: "2019-09-17 12:00")!

weakself?.eventdate = startdate

let enddate = dfmatter.date(from:"2019-09-17 12:00")! + 3600

let predicate = self.eventstore.predicateforevents(withstart: startdate, end: enddate, calendars: nil)

eventstore.enumerateevents(matching: predicate, using: catch

})

如果要刪除指定日曆事件

根據事件唯一識別符號:event.calendar.calendaridentifier,我們需要將生成事件的識別符號儲存,刪除時予以對照即可。此外,日曆事件無法編輯修改,如若要完成此效果,我們需刪除舊事件、新增新事件來替換

Vue 可以新增事件的日曆牆

其中有非常多款的日曆牆任君挑選!而且有詳細的使用說明!npm or tag.由於一些問題,我的專案並不適合使用第二種方法,所以我選擇了第一種,使用命令 npm i s vue cal進行安裝。解決辦法 2.喜歡的日曆牆樣式但沒有新增事件。這個其實就很簡單,看了文件基本就知道了,在喜歡的樣式多添乙個e...

同步Android手機系統日曆事件(日程)

之前開發的應用要求的乙個功能是同步手機系統日曆日程,發現網上也沒什麼總結好的答案,查閱了些資資料沒有發現android有獲取指定日期事件的方法,於是自己就研究了一番。1 先在android的配置檔案中新增讀取日曆的許可權 android name android.permission.read ca...

Android 插入日程到系統日曆要注意的3點

第一 由於各個手機的系統不一樣,所以在對系統日曆的賬戶進行操作的時候,一定要找到擁有最高許可權的賬戶對其進行插入日程,否則有可能造成將日程插入系統日曆之後有可能不出現刪除按鈕。由於各個系統的賬戶多而且許可權不一樣,所以對許可權進行公升序排列查詢,以便向最高許可權的使用者對日程進行crud的操作 cu...