Post

Replies

Boosts

Views

Activity

Reply to Apple Calendar not working with RDATE in RFC 5545
Thanks for your reply, I think this should be a bug report. I'm currently working on a multi-platform calendar and planner sharing tool. As the calendar software on every Apple device does, people can sync their calendars using iCloud and use that to share their calendars with others in the form of public links. RFC 5545, also known as iCalendar, is the standard for exchanging information for these functions. Typically, a simple event implementation would look like this (according to 3.6.1. Event Component) BEGIN:VEVENT UID:some unique numbers SUMMARY:things to be happened DTSTART;TZID=Asia/Singapore:20240301T100000 DTEND;TZID=Asia/Singapore:20240301T120000 END:VEVENT The above describes a two-hour schedule. However, not everything is a one-time event, and sometimes the event may need to be repeated at regular intervals, so it is possible to repeat it at regular intervals according to the rules of 3.8.5.3 Recurrence Rule, and there are also EXRULE tags for excluding a date (Section 4.8.5.2 in RFC 2445, but recorded as deprecated), as well as 3.8.5.1 Exception Date-Times, which excludes dates at individual times, and 3.8.5.2 Recurrence Date-Times, which repeats dates at individual times. I discovered during development that when a user clicks the webcal:// link we provide and adds a calendar subscription to the calendar software on an Apple device, the information containing the RDATE tag will not show subsequent recurrences. As in the example above, if you add either of the following, it will not work RDATE:20240301T123000Z (always in UTC time zone) RDATE;TZID=Asia/Singapore:20240302T190000 (in the time zone of the TZID) i.e. both iOS and MacOS calendars will only show the first day at 10am. But if you repeat it like this RRULE:FREQ=DAILY;COUNT=10 the calendar on all devices will show the first day and the next nine days. Similarly, with EXDATE, a particular repeat can be cancelled without changing the original end of the cycle. What I'm saying is that the calendar software on all Apple devices does not fully implement RFC 5545, or that there is a bug in the handling of the RDATE tag. Although it does not use the API provided by the operating system, the standard is a common standard for storage and exchange across multiple operating systems and calendars, and the tags I mentioned have been in place since the previous version of RFC 5545, RFC 2445, published in 1998, so the posting of the above problem shouldn't be taken as a suggestion for enhancement.
Mar ’25