首先要在info.plist中申請(qǐng)權(quán)限
字段名:NSCalendarsUsageDescription

屏幕快照 2017-03-15 下午3.00.00.png
import UIKit
//導(dǎo)入頭文件
import EventKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let eventStore = EKEventStore()
eventStore.requestAccess(to: .event, completion: {
granted, error in
if (granted) && (error == nil) {
print("granted \(granted)")
print("error \(error)")
// 新建一個(gè)事件
let event:EKEvent = EKEvent(eventStore: eventStore)
event.title = "新增一個(gè)測(cè)試事件"
event.startDate = Date()
event.endDate = Date()
event.notes = "這個(gè)是備注"
event.calendar = eventStore.defaultCalendarForNewEvents
do{
try eventStore.save(event, span: .thisEvent)
print("Saved Event")
}catch{}
// 獲取所有的事件(前后90天)
let startDate = Date().addingTimeInterval(-3600*24*90)
let endDate = Date().addingTimeInterval(3600*24*90)
let predicate2 = eventStore.predicateForEvents(withStart: startDate,
end: endDate, calendars: nil)
print("查詢(xún)范圍 開(kāi)始:\(startDate) 結(jié)束:\(endDate)")
if let eV = eventStore.events(matching: predicate2) as [EKEvent]! {
for i in eV {
print("標(biāo)題 \(i.title)" )
print("開(kāi)始時(shí)間: \(i.startDate)" )
print("結(jié)束時(shí)間: \(i.endDate)" )
}
}
}
})
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
![Uploading 屏幕快照 2017-03-15 下午2.57.22_552844.png . . .]