一翔试、打開系統(tǒng)的app
1、打開日歷:
if UIApplication.sharedApplication().canOpenURL(NSURL(string:"calshow:”)!) {
UIApplication.sharedApplication().openURL(NSURL(string:"calshow:”)!)
}
2施流、打開提醒事項(xiàng):
if UIApplication.sharedApplication().canOpenURL(NSURL(string:"x-apple-reminder://")!) {
UIApplication.sharedApplication().openURL(NSURL(string:"x-apple-reminder://")!)
}
二慨飘、向系統(tǒng)的日歷或提醒事項(xiàng)中添加信息:
1确憨、向日歷中添加事件:
(1)、創(chuàng)建事件驅(qū)動(dòng)器:
let eventStore = EKEventStore()
(2)瓤的、授權(quán)訪問日歷:
eventStore.requestAccessToEntityType(.Event) { (result, erro) in }
(3)休弃、編輯事件:
let event = EKEvent(eventStore: self.eventStore)
// 事件名稱
event.title = "提醒" // 事件名稱
event.notes = "備注你妹" // 事件備注
// 事件地點(diǎn)
event.location = "東升科技園"
// 這個(gè)設(shè)置為true 開始結(jié)束時(shí)間就不會(huì)顯示
event.allDay = true
// 開始時(shí)間
event.startDate = NSDate()
// 結(jié)束時(shí)間
event.endDate = NSDate(timeIntervalSinceNow: 3600)
event.addAlarm(EKAlarm(relativeOffset: -60*15)) // 設(shè)置提醒
// 必須設(shè)置:系統(tǒng)的日歷
event.calendar = self.eventStore.defaultCalendarForNewEvents
(4)、添加事件:
do {
let _ = try self.eventStore.saveEvent(event, span: .ThisEvent)
} catch {
print(error)
}
2圈膏、向事項(xiàng)中添加事件:
(1)玫芦、創(chuàng)建事件驅(qū)動(dòng)器:
let eventStore = EKEventStore()
(2)、授權(quán)訪問提醒事項(xiàng):
eventStore.requestAccessToEntityType(.Reminder) { (result, erro) in }
(3)本辐、編輯事項(xiàng):
let reminde = EKReminder(eventStore: self.eventStore)
// 事項(xiàng)名稱
reminde.title = "測(cè)試提醒"
// 事項(xiàng)地點(diǎn)
reminde.location = "東升科技園"
// 事項(xiàng)等級(jí):1-9桥帆,1最高
reminde.priority = 1
reminde.notes = "測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試"
// 事項(xiàng)開始事件
let start = NSDateComponents()
start.day = 5
start.year = 2016
start.month = 9
start.hour = 22
start.minute = 30
start.timeZone = NSTimeZone.systemTimeZone()
reminde.startDateComponents = start
// 事項(xiàng)結(jié)束事件
let end = NSDateComponents()
end.day = 8
end.year = 2016
end.month = 9
end.hour = 23
end.minute = 30
end.timeZone = NSTimeZone.localTimeZone()
reminde.dueDateComponents = end
// 說明:
設(shè)置了結(jié)束時(shí)間,在事項(xiàng)中只會(huì)顯示結(jié)束時(shí)間而不會(huì)顯示開始時(shí)間
reminde.addAlarm(EKAlarm(relativeOffset: -60*15)) // 添加提醒時(shí)間
// 必須要設(shè)置:默認(rèn)的事項(xiàng)提示app
reminde.calendar = self.eventStore.defaultCalendarForNewReminders()
(4)慎皱、添加事項(xiàng):
do {
let _ = try self.eventStore.saveReminder(reminde, commit: true)
} catch {
print(error)
}
三老虫、查找系統(tǒng)的日歷或提醒事項(xiàng)中信息:
1、查找日歷事件:
(1)茫多、創(chuàng)建事件驅(qū)動(dòng)器:
let eventStore = EKEventStore()
(2)祈匙、授權(quán)訪問日歷:
eventStore.requestAccessToEntityType(.Event) { (result, erro) in }
(3)、查找事件:
1)天揖、創(chuàng)建查找條件
let predicate = self.eventStore.predicateForEvents(withStart: Date(timeIntervalSinceNow: -3600), end: Date(), calendars: nil)
2)夺欲、利用條件進(jìn)行查找:由于是線程同步,耗時(shí)長(zhǎng)今膊,建議在其他線程操作
查找方法1:
let events = self.eventStore.events(matching: predicate)
查找方法2:每找到一個(gè)就會(huì)調(diào)用閉包
self.eventStore.enumerateEvents(matching: predicate, using: { (event,pointer) in})
2些阅、查找提醒事項(xiàng):
(1)、創(chuàng)建事件驅(qū)動(dòng)器:
let eventStore = EKEventStore()
(2)斑唬、授權(quán)訪問提醒事項(xiàng):
eventStore.requestAccessToEntityType(.Reminder) { (result, erro) in }
(3)市埋、查找事件:
1)、創(chuàng)建查找條件
/// 獲取所有的事項(xiàng)條件
let pre0 = self.eventStore.predicateForReminders(in: nil)
// 指定時(shí)間內(nèi)未完成的事項(xiàng)條件
let pre1 = self.eventStore.predicateForIncompleteReminders(withDueDateStarting: Date(timeIntervalSinceNow:3600), ending: Date(timeIntervalSinceNow:3600), calendars: nil)
// 指定時(shí)間內(nèi)已完成的事項(xiàng)條件
let pre2 = self.eventStore.predicateForCompletedReminders(withCompletionDateStarting: Date(timeIntervalSinceNow:-3600), ending: Date(timeIntervalSinceNow:3600), calendars: nil)
2)恕刘、利用條件進(jìn)行查找:由于是線程同步缤谎,耗時(shí)長(zhǎng),建議在其他線程操作
/// 獲取事項(xiàng)
let _ = self.eventStore.fetchReminders(matching: pre0, completion: { (reminders) in })
四褐着、刪除系統(tǒng)的日歷或提醒事項(xiàng)中信息:
1坷澡、刪除日歷事件:
do {
let _ = try self.eventStore.remove(event, span: .thisEvent)
} catch {
print(error)
}
2、刪除事項(xiàng)提示:
do {
let _ = try self.eventStore.remove((reminders?.first)!, commit: true)
} catch {
print(error)
}
系統(tǒng)的日歷和提醒事項(xiàng)的調(diào)用與交互(swift版)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門厌殉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來食绿,“玉大人,你說我怎么就攤上這事公罕∑鹘簦” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵楼眷,是天一觀的道長(zhǎng)铲汪。 經(jīng)常有香客問我,道長(zhǎng)罐柳,這世上最難降的妖魔是什么掌腰? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮张吉,結(jié)果婚禮上齿梁,老公的妹妹穿的比我還像新娘。我一直安慰自己肮蛹,他們只是感情好勺择,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伦忠,像睡著了一般省核。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昆码,一...
- 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼亦镶!你這毒婦竟也來了日月?” 一聲冷哼從身側(cè)響起袱瓮,我...
- 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎爱咬,沒想到半個(gè)月后尺借,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡精拟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年燎斩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜂绎。...
- 正文 年R本政府宣布践美,位于F島的核電站洗贰,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏陨倡。R本人自食惡果不足惜哆姻,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望玫膀。 院中可真熱鬧矛缨,春花似錦、人聲如沸帖旨。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽解阅。三九已至落竹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間货抄,已是汗流浹背述召。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怪与,于是被迫代替她去往敵國(guó)和親夺刑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 藍(lán)球范圍: 01 02 03 07 10 12 13 15 16 01 02 03 07 10 12 15 16 ...
- 癌癥幸存者的筆記 今天在美國(guó)有將近1400萬人是癌癥幸存者。每四個(gè)美國(guó)家庭中就有三個(gè)家庭至少有一個(gè)家庭成員被診斷出...
- 這是《猿類崛起·終極之戰(zhàn)》整部影片中我以為最鮮亮的鏡頭岩饼,冰天雪地里,燦爛開放的臘梅羞海,讓人想到生命的美好與倔強(qiáng),傲然...