I would like to allow my users to accept/decline a meeting invitation within my app.
I think what I need is to update somehow the EKParticipantStatus but it looks like it isn't possible to update.
Apple Docs: Event Kit cannot add participants to an event nor change participant information
In this stackOverflow question someone suggested to bring the native EventKitUI, which I've tried like this:
class CalendarViewController: UIViewController, EKEventViewDelegate {
// .....
let eventController = EKEventViewController()
guard let eventWithIdentifier = MeetingsFetcher.eventStoreClass.event(withIdentifier: meeting.UUID) else {
return nil
}
eventController.delegate = self
eventController.event = eventWithIdentifier
eventController.allowsEditing = true
eventController.allowsCalendarPreview = true
let navCon = UINavigationController(rootViewController: eventController)
// customizing the toolbar where the accept/maybe/decline buttons appear
navCon.toolbar.isTranslucent = false
navCon.toolbar.tintColor = .blueGreen
navCon.toolbar.backgroundColor = .coolWhite10
// customizing the nav bar where the OK button appears
navCon.navigationBar.callinAppearence()
present(navCon, animated: true, completion: nil)
// .....
// view gets dismissed, so it does detects the action, but no effect
func eventViewController(_ controller: EKEventViewController, didCompleteWith action: EKEventViewAction) {
controller.dismiss(animated: true, completion: nil)
}
The native UI shows pretty good but the buttons don't make any effect in the native calendar.
Am I missing something or it's just not possible? Why would they allow to interact with those buttons if it's not possible to save anything?
Thank you!
PD: I have these permissions in the info.plist:
UPDATE:
Please note that EKEventEditViewController is not what I am looking for. This screen wouldn't allow me to accept or decline the event, it would only allow me to edit the details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With