0 votes

Les calendriers souscrits n'apparaissent pas sur mon appareil, mais ils peuvent être ouverts manuellement [iOS 14.4.2].

J'essaie d'écrire un service PHP pour créer des calendriers à partir de certaines données. Quoi qu'il en soit, l'exemple qu'il renvoie (il est statique pendant le test) s'affiche normalement lorsqu'on essaie de l'obtenir par http://my_domain.com/ics.php ou simplement pour télécharger la réponse en tant que .ics (l'emplacement, l'URL, la description, les champs d'alerte ont été affichés correctement, je peux l'enregistrer sur mon appareil ou sur le serveur CalDAV/Cloud), donc la syntaxe iCS est correcte. Mais lorsque j'essaie de m'y abonner via webcal://my_domain.com/ics.php En revanche, ses événements n'apparaissent pas sur la chronologie de mon calendrier (bien que je puisse toujours le voir dans les sections "Calendriers" et même le "rafraîchir"). Lorsque je l'actualise, les événements ne sont toujours pas visibles, mais le serveur remarque que la requête à l'adresse my_domain.com/ics.php .

J'ai essayé :

  • Redémarrage de l'appareil et du serveur
  • Réalisation d'une statique .ics et s'y abonner
  • Ajouter des en-têtes de réponse comme Content-type: text/calendar et Content-disposition: attachment; filename=index.ics
  • Désactiver les comptes iCloud et Google Calendars sur l'appareil
  • Générer un autre événement dans le calendrier

Et rien de ce qui précède n'a aidé. L'abonnement fonctionne sur Microsoft Outlook, Mozilla Thunderbird sur un appareil Windows 10. Sur mon i-device il y avait un autre calendrier public abonné, mais il n'a pas non plus fonctionné. L'exemple d'ICS généré peut être regardé aquí . Que dois-je changer pour qu'il soit inscrit et affiché correctement ?

J'apprécierai toute aide fournie !

Ajouté : maintenant, lorsque l'on accède par webcal:// safari répond "Impossible d'ouvrir la page car elle n'est pas valide".

0voto

Genken Points 1

Résolu ! Pour faire en sorte que ces événements apparaissent, mettez un UID à l'intérieur de chaque VEVENT . Exemple :

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

Aussi UID peut être une ligne absolument aléatoire, par ex. ae063b9b6236fd mais il doit être unique pour chaque événement dans votre calendrier et en dehors de votre calendrier. Si le client rencontre deux événements avec les mêmes UID, le dernier mentionné dans la réponse iCal sera affiché. S'il n'y a pas d'UID, l'événement sera ignoré lors de l'analyse syntaxique.

Le client a besoin de l'UID pour éviter la duplication des événements et la fusion des événements avec les listes TODO (si elles sont prises en charge), etc.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X