1
액세스가 거부 된 일정에 일정을 추가하려고 할 때 내 EventKit
에게 일정에 대한 사용 권한을 요청하고 싶습니다. 앱을 처음 사용할 때만 묻고 설정에서 액세스를 거부하면 사용자에게 다시 액세스 권한을 부여하라는 메시지가 표시되지 않습니다. 도와주세요.이벤트 키드 권한
추가 크레딧 : 이벤트가 이미 캘린더에 존재하는지 확인하고, 그렇다면 편집하십시오. 이것에 대한 어떤 도움도 인정 될 것입니다 !!
func addToCalendar(){
let eventStore = EKEventStore()
let startDate = NSDate()
let endDate = startDate.dateByAddingTimeInterval(60 * 60) // One hour
if (EKEventStore.authorizationStatusForEntityType(.Event) != EKAuthorizationStatus.Authorized) {
eventStore.requestAccessToEntityType(.Event, completion: {
granted, error in
self.createEvent(eventStore, title: "\(self.meal.text!)", startDate: startDate, endDate: endDate)
})
} else {
createEvent(eventStore, title: "\(self.meal.text!)", startDate: startDate, endDate: endDate)
}
}
func createEvent(eventStore: EKEventStore, title: String, startDate: NSDate, endDate: NSDate) {
let event = EKEvent(eventStore: eventStore)
event.title = title
event.startDate = startDate
event.endDate = endDate
event.calendar = eventStore.defaultCalendarForNewEvents
event.notes = "\(self.Recipe.text!) - See Meal Planning on Listacular"
do {
try eventStore.saveEvent(event, span: .ThisEvent)
savedEventId = event.eventIdentifier
} catch {
print("Denied")
}
}
감사합니다. ObjC를 번역 해 주셔서 감사합니다. 알아낼 수 있었지만 eventWithIdentifier를 사용하여 이벤트를 확인하고 편집하는 방법을 모르겠습니다. –
eventWithIdentifier 메소드는 이벤트가 지정된 식별자로 저장되어 있으면 이벤트를 리턴하고 그렇지 않으면 nil을 리턴합니다. –
분명히 내가 잘못 했어. 저장하면'savedEventId = event.eventIdentifier'를 확인하거나 식별자를 저장하고 읽지 않습니까? –