我很想知道如何在设备中添加日历事件,但使用 swift。我知道有一些用 Objective-C 制作的例子,但目前还没有。非常感谢。
最佳答案
注意:如果您的应用因而崩溃,则此应用已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含一个 NSCalendarsUsageDescription 键和一个字符串值,向用户解释应用程序如何使用此数据。
,您需要将 NSCalendarsUsageDescription
添加到您的 info.plist。可以照例here .
Swift 5.0 版本
import Foundation
import EventKit
let eventStore : EKEventStore = EKEventStore()
// 'EKEntityTypeReminder' or 'EKEntityTypeEvent'
eventStore.requestAccess(to: .event) { (granted, error) in
if (granted) && (error == nil) {
print("granted \(granted)")
print("error \(error)")
let event:EKEvent = EKEvent(eventStore: eventStore)
event.title = "Test Title"
event.startDate = Date()
event.endDate = Date()
event.notes = "This is a note"
event.calendar = eventStore.defaultCalendarForNewEvents
do {
try eventStore.save(event, span: .thisEvent)
} catch let error as NSError {
print("failed to save event with error : \(error)")
}
print("Saved Event")
}
else{
print("failed to save event with error : \(error) or access not granted")
}
}
引用:https://gist.github.com/mchirico/d072c4e38bda61040f91
关于swift - 如何使用 swift 在设备日历中添加事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28379603/