Browse Source

Switch to macOS 14 APIs.

master
Abhishek Banthia 7 months ago
parent
commit
cd877660cd
  1. 35
      Clocker/Events and Reminders/CalendarHandler.swift

35
Clocker/Events and Reminders/CalendarHandler.swift

@ -172,21 +172,42 @@ extension EventCenter {
func initializeStoreIfNeccesary() { func initializeStoreIfNeccesary() {
if eventStore == nil { if eventStore == nil {
eventStore = EKEventStore() eventStore = EKEventStore()
eventStore.reset()
} }
} }
func requestAccess(to entity: EKEntityType, completionHandler: @escaping (_ granted: Bool) -> Void) { func requestAccess(to entity: EKEntityType, completionHandler: @escaping (_ granted: Bool) -> Void) {
initializeStoreIfNeccesary() initializeStoreIfNeccesary()
eventStore.requestAccess(to: entity) { [weak self] granted, _ in if #available(macOS 14.0, *) {
eventStore.requestFullAccessToEvents { [weak self] granted, error in
// On successful granting of calendar permission, we default to showing events from all calendars // On successful granting of calendar permission, we default to showing events from all calendars
if let self = self, entity == .event, granted { if let self = self, entity == .event, granted {
self.saveDefaultIdentifiersList() self.saveDefaultIdentifiersList()
} else if let requestError = error {
Logger.info("Unable to request events access due to \(requestError.localizedDescription)")
} else {
Logger.info("Request events access failed silently")
}
completionHandler(granted)
} }
} else {
eventStore.requestAccess(to: entity) { [weak self] granted, error in
// On successful granting of calendar permission, we default to showing events from all calendars
if let self = self, entity == .event, granted {
self.saveDefaultIdentifiersList()
} else if let requestError = error {
Logger.info("Unable to request events access due to \(requestError.localizedDescription)")
} else {
Logger.info("Request events access failed silently")
}
completionHandler(granted) completionHandler(granted)
}
} }
} }
func filterEvents() { func filterEvents() {

Loading…
Cancel
Save