Back to integration guides

10 de julio de 2026

Cómo agregar un evento a Apple Calendar desde una App Web PHP

Una guía para desarrolladores sobre cómo generar archivos ICS en PHP para permitir a los usuarios agregar eventos a Apple Calendar.

Generando Eventos de Apple Calendar en PHP

Si estás construyendo una plataforma de eventos personalizada en PHP, inevitablemente necesitarás permitir que los usuarios guarden eventos en Apple Calendar (o Outlook).

Ambas plataformas dependen del formato de archivo .ics.

El Código

Para generar un archivo ICS dinámicamente en PHP, necesitas configurar los encabezados HTTP correctos y generar la carga útil de iCalendar.

<?php
// Configurar encabezados correctos para la descarga de ICS
header('Content-Type: text/calendar; charset=utf-8');
header('Content-Disposition: attachment; filename="evento.ics"');
 
// Definir detalles del evento
$start = gmdate('Ymd\THis\Z', strtotime('2026-08-01 15:00:00'));
$end = gmdate('Ymd\THis\Z', strtotime('2026-08-01 16:00:00'));
$summary = "Reunión de Desarrolladores";
$description = "Sincronización mensual de desarrolladores.";
$location = "San Francisco, CA";
 
// Generar la carga útil
echo "BEGIN:VCALENDAR\r\n";
echo "VERSION:2.0\r\n";
echo "PRODID:-//Mi App//ES\r\n";
echo "BEGIN:VEVENT\r\n";
echo "UID:" . uniqid() . "\r\n";
echo "DTSTAMP:" . gmdate('Ymd\THis\Z') . "\r\n";
echo "DTSTART:{$start}\r\n";
echo "DTEND:{$end}\r\n";
echo "SUMMARY:{$summary}\r\n";
echo "DESCRIPTION:{$description}\r\n";
echo "LOCATION:{$location}\r\n";
echo "END:VEVENT\r\n";
echo "END:VCALENDAR\r\n";
?>

La Mejor Manera

Formatear fechas, manejar zonas horarias, escapar caracteres especiales y lidiar con las reglas de plegado de líneas en el RFC 5545 es notoriamente difícil de hacer bien en todas las versiones de aplicaciones de calendario.

En lugar de mantener este código tú mismo, puedes usar Invitly. Simplemente crea el evento en el panel de control e incrusta nuestro botón de calendario universal en tus plantillas PHP.