0 votos

Los calendarios suscritos no se muestran en mi dispositivo, pero se pueden abrir manualmente [iOS 14.4.2]

Estoy tratando de escribir un servicio PHP para hacer calendarios a partir de algunos datos. De todos modos, el ejemplo que devuelve (es estático durante la prueba) se muestra normalmente al intentar obtenerlo por http://my_domain.com/ics.php o simplemente para descargar la respuesta como un .ics (ubicación, URL, descripción, campos de alerta se han mostrado correctamente, puedo guardarlo en mi dispositivo o en el servidor CalDAV/Cloud), por lo que la sintaxis de iCS está bien. Pero cuando intento suscribirlo a través de webcal://my_domain.com/ics.php En el caso de la página web de la empresa, sus eventos no aparecen en la línea de tiempo de mi calendario (aunque puedo verlos en las secciones de "Calendarios" e incluso "refrescarlos"). Al refrescarlo, los eventos siguen sin verse, pero el servidor nota la petición de my_domain.com/ics.php .

Lo intenté:

  • Reiniciar el dispositivo y el servidor
  • Hacer una estática .ics y suscribirlo
  • Añadiendo cabeceras de respuesta como Content-type: text/calendar y Content-disposition: attachment; filename=index.ics
  • Desactivar las cuentas de iCloud y Google Calendars en el dispositivo
  • Generar otro evento en el calendario

Y nada de lo anterior ayudó. La suscripción funciona en Microsoft Outlook, Mozilla Thunderbird en el dispositivo Windows 10. En mi dispositivo i había otro calendario público suscrito, pero tampoco funcionaba. El ejemplo de ICS generado puede ser visto aquí . ¿Qué debo cambiar para que se suscriba y se muestre correctamente?

Agradeceré cualquier ayuda que se me proporcione.

Añadido: ahora cuando se accede a través de webcal:// safari responde que "No se puede abrir la página porque no es válida"

0voto

moneytoo Puntos 11

Resuelto. Para que esos eventos aparezcan, pon un UID dentro de cada parámetro VEVENT . Ejemplo:

BEGIN:VEVENT
UID:41e9d941b4ae063b9b6236fdc6f2479d-20210424T191741:username@example.com
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:English
TRIGGER:-PT2M
END:VALARM
URL:https://zoom.us/j/99999999999
LOCATION:209
DESCRIPTION:Read The Cather in the Rye
DTSTART;TZID=Europe/Moscow:20210425T154000
DTEND;TZID=Europe/Moscow:20210425T162000
SUMMARY:English language, ENG-9-1
END:VEVENT

También UID puede ser una línea absolutamente aleatoria, por ejemplo ae063b9b6236fd pero debe ser único para cada evento en su calendario y fuera de él. Si el cliente se encuentra con dos eventos con el mismo UID, se mostrará el último mencionado en la respuesta de iCal. Si no hay UID, el evento será ignorado durante el análisis.

El cliente necesita el UID para evitar la duplicación de eventos y la fusión de eventos con listas TODO (si es compatible), etc.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X