EventKit Swift: guía completa con ejemplos prácticos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

EventKit para Swift: Guía completa para trabajar con calendario y recordatorios

EventKit es un potente framework de Apple que proporciona a los desarrolladores de Swift una interfaz unificada para interactuar con las bases de datos de calendario y recordatorios en dispositivos iOS, iPadOS, macOS y watchOS. Permite no solo leer eventos y tareas, sino también crearlos, editarlos y eliminarlos, así como suscribirse a notificaciones de cambios. Esta librería es una herramienta clave para crear aplicaciones de planificación, gestores de tareas, calendarios corporativos y cualquier otro programa que requiera gestión del tiempo del usuario.

¿Para qué sirve EventKit? En el mundo actual, la gestión del tiempo es una tarea crítica. EventKit permite al desarrollador integrar su aplicación con los calendarios y recordatorios nativos de iOS/macOS, evitando que el usuario tenga que cambiar entre diferentes programas. Puedes añadir automáticamente reuniones desde tu servicio al calendario del usuario, sincronizar plazos de tareas con recordatorios o analizar la disponibilidad. Sin EventKit, cada aplicación sería una "isla" de datos aislada; con él, se convierte en parte del ecosistema unificado de Apple.

Es importante entender que EventKit no es una librería de terceros, sino un framework del sistema. Está integrado en el SDK de Apple y no requiere instalación a través de gestores de paquetes para su uso básico. Sin embargo, para mayor comodidad y añadir funciones adicionales (como actualizaciones reactivas), los desarrolladores suelen usar envoltorios como RxEventKit o EventKitUI. En este artículo nos centraremos en EventKit puro, ya que es la base.

Instalación (Configuración del proyecto)

Dado que EventKit es parte del framework del sistema de Apple, su "instalación" se reduce a importar el módulo en tu código. Los comandos pip o npm no aplican aquí. Para configurarlo, sigue estos pasos:

  1. Importar en el archivo Swift: Al inicio de tu archivo, añade import EventKit.
  2. Añadir el framework al proyecto (si es necesario): Normalmente Xcode enlaza automáticamente los frameworks del sistema. Si no es así, ve a Target > General > Frameworks, Libraries, and Embedded Content, presiona "+" y añade EventKit.framework.
  3. Configurar Info.plist: Para acceder al calendario y a los recordatorios, debes añadir las cadenas de privacidad:
    • NSCalendarsUsageDescription — texto que explica por qué la aplicación necesita acceso al calendario (ej: "Para añadir eventos").
    • NSRemindersUsageDescription — texto para el acceso a recordatorios.
    Sin estas cadenas, la aplicación fallará al intentar solicitar acceso.
// No se requiere instalación, solo importamos el framework
import EventKit
import UIKit

class ViewController: UIViewController {
    // Tu código
}

Inicio rápido: ejemplo mínimo funcional

Vamos a crear una aplicación simple que solicite acceso al calendario y cree un evento "Reunión de prueba" para mañana.

import EventKit
import UIKit

class QuickStartViewController: UIViewController {

    let eventStore = EKEventStore()

    override func viewDidLoad() {
        super.viewDidLoad()
        requestAccessAndCreateEvent()
    }

    func requestAccessAndCreateEvent() {
        // 1. Solicitamos acceso al calendario
        eventStore.requestAccess(to: .event) { [weak self] (granted, error) in
            guard let self = self else { return }
            
            if granted && error == nil {
                // 2. Creamos el evento
                let event = EKEvent(eventStore: self.eventStore)
                event.title = "Reunión de prueba"
                event.startDa                    

Recommendations