Issue with iOS Safari Handling Updates in .ics Files
2
votes
0
answers
100
views
I have an endpoint that generates a .ics file. From my mobile app, I open the browser (Safari) and retrieve the .ics file. In Safari, the events are displayed as expected, and I can use the "Add All" button to add them to the calendar. After clicking "Add All," I can select the desired calendar, and the events are successfully added (see screenshots 1 and 2 below).
Here’s the initial .ics file response:
Later, I updated the .ics file with new event details:
Then I call the endpoint again, and receive the new .ics file. However it seems like that Safari can't handle updates on events. In the preview we can see the changes, but when I click on "Add All" button, nothing happens. The same behavior is working with other calendars like Outlook (web view) or Google Calendar.
If I add a completely new event to the .ics file, that is working fine, the issue is with updating an existing one.
I chose this implementation over downloading the .ics file and opening it on the iPhone because my understanding is that's not possible: https://discussions.apple.com/thread/253646020
I wonder if a property is missing from my .ics file that is necessary for iOS Safari to handle updates or perhaps Safari was not designed to handle event updates in this way.
If this button only handles the adding and not the updating, could I move to a subscription-based solution to manage updates more reliably?
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:NAME
BEGIN:VEVENT
DTSTAMP:20250101T195917Z
DTSTART:20250102T131600
DTEND:20250102T142500
SUMMARY:My Event 1
UID:unique-uid1
LAST-MODIFIED:20250101T155715Z
DESCRIPTION:Description
SEQUENCE:1
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20250101T195917Z
DTSTART:20250103T131600
DTEND:20250103T135600
SUMMARY:My Event 2
UID:unique-uid2
LAST-MODIFIED:20250101T155715Z
DESCRIPTION:Description
SEQUENCE:1
END:VEVENT
END:VCALENDAR


BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:NAME
BEGIN:VEVENT
DTSTAMP:20250102T195917Z
DTSTART:20250104T131600
DTEND:20250104T142500
SUMMARY:My Event 1 Update
UID:unique-uid1
LAST-MODIFIED:20250104T155715Z
DESCRIPTION:Description
SEQUENCE:2
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20250102T195917Z
DTSTART:20250105T131600
DTEND:20250105T142500
SUMMARY:My Event 2 Update
UID:unique-uid2
LAST-MODIFIED:20250102T155715Z
DESCRIPTION:Description
SEQUENCE:2
END:VEVENT
END:VCALENDAR
I updated everything according to the iCalendar documentation:
- UID remained unchanged
- SEQUENCE has been updated
- DTSTAMP has been updated
- LAST-MODIFIED has been updated

Asked by Bence Németh
(21 rep)
Jan 8, 2025, 06:05 PM
Last activity: Jan 8, 2025, 10:24 PM
Last activity: Jan 8, 2025, 10:24 PM