Usamos o EventKit para conectar os lembretes de presentes ao calendário do sistema. O código cria eventos de dia inteiro com recorrência anual para datas importantes, garantindo que o cronograma do usuário esteja acessível em todos os seus dispositivos.
class CalendarManager: ObservableObject {
private let eventStore = EKEventStore()
@Published var authorizationStatus: EKAuthorizationStatus = .notDetermined
func requestAccess() {
eventStore.requestFullAccessToEvents { granted, error in
DispatchQueue.main.async {
self.authorizationStatus = granted ? .authorized : .denied
}
}
}
func createEvent(title: String, date: Date) {
let event = EKEvent(eventStore: eventStore)
event.title = title
event.startDate = date
event.endDate = date
event.isAllDay = true
event.calendar = eventStore.defaultCalendarForNewEvents
let recurrenceRule = EKRecurrenceRule(
recurrenceWith: .yearly,
interval: 1,
end: nil
)
event.recurrenceRules = [recurrenceRule]
do {
try eventStore.save(event, span: .thisEvent)
print("Event Created")
} catch {
print("Error creating event: \(error.localizedDescription)")
}
}
}






