Apple Calendar not working with RDATE in RFC 5545

Both Mac and iPhone iPad

Answered by DTS Engineer in 828010022

I'm not sure if this is a bug report or an enhancement request. Either way, I think it would be good for our engineering teams to investigate. Can you provide more details about what you're trying to do and what APIs you are using?

Please file a bug report/enhancement request asking for RFC 5545 date format support. You can file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

If you are simply using the Calendar and not writing software, then won't you please consider posting this question in the Apple Support Community discussion forums. The Apple Developer Forums are for questions about APIs and features intended specifically for developers.

I'm not sure if this is a bug report or an enhancement request. Either way, I think it would be good for our engineering teams to investigate. Can you provide more details about what you're trying to do and what APIs you are using?

Please file a bug report/enhancement request asking for RFC 5545 date format support. You can file an enhancement request using Feedback Assistant. Once you file the request, please post the FB number here.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

If you are simply using the Calendar and not writing software, then won't you please consider posting this question in the Apple Support Community discussion forums. The Apple Developer Forums are for questions about APIs and features intended specifically for developers.

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.

Apple Calendar not working with RDATE in RFC 5545
 
 
Q